@agentmark-ai/ui-components 0.3.6 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +220 -3
- package/dist/index.d.ts +220 -3
- package/dist/index.js +14434 -14514
- package/dist/index.mjs +12923 -12981
- package/package.json +7 -1
package/dist/index.d.mts
CHANGED
|
@@ -17,6 +17,222 @@ import { FormControlProps } from '@mui/material/FormControl';
|
|
|
17
17
|
import { SliderProps } from '@mui/material';
|
|
18
18
|
import { FormControlLabelProps } from '@mui/material/FormControlLabel';
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Experiment Types
|
|
22
|
+
*
|
|
23
|
+
* Type definitions for experiment UI components.
|
|
24
|
+
* These types are the canonical source — the dashboard re-exports them.
|
|
25
|
+
*/
|
|
26
|
+
/** Score on a single experiment item */
|
|
27
|
+
interface ExperimentItemScore {
|
|
28
|
+
name: string;
|
|
29
|
+
score: number;
|
|
30
|
+
label: string;
|
|
31
|
+
reason: string;
|
|
32
|
+
}
|
|
33
|
+
/** Summary for list views (from analytics) */
|
|
34
|
+
interface ExperimentSummary {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
datasetPath: string;
|
|
38
|
+
promptName: string;
|
|
39
|
+
start: string;
|
|
40
|
+
end: string;
|
|
41
|
+
itemCount: number;
|
|
42
|
+
avgLatencyMs: number;
|
|
43
|
+
totalCost: number;
|
|
44
|
+
totalTokens: number;
|
|
45
|
+
avgScore: number | null;
|
|
46
|
+
}
|
|
47
|
+
/** Single item in experiment */
|
|
48
|
+
interface ExperimentItemSummary {
|
|
49
|
+
traceId: string;
|
|
50
|
+
itemName: string;
|
|
51
|
+
expectedOutput: string;
|
|
52
|
+
input: string;
|
|
53
|
+
output: string;
|
|
54
|
+
latencyMs: number;
|
|
55
|
+
cost: number;
|
|
56
|
+
tokens: number;
|
|
57
|
+
model: string;
|
|
58
|
+
scores: ExperimentItemScore[];
|
|
59
|
+
}
|
|
60
|
+
/** Full detail with all items */
|
|
61
|
+
interface ExperimentDetail extends ExperimentSummary {
|
|
62
|
+
items: ExperimentItemSummary[];
|
|
63
|
+
}
|
|
64
|
+
/** Data for one experiment's version of a dataset item in the comparison */
|
|
65
|
+
interface ComparisonItemData {
|
|
66
|
+
traceId: string;
|
|
67
|
+
output: string;
|
|
68
|
+
input: string;
|
|
69
|
+
expectedOutput: string;
|
|
70
|
+
latencyMs: number;
|
|
71
|
+
cost: number;
|
|
72
|
+
tokens: number;
|
|
73
|
+
model: string;
|
|
74
|
+
scores: ExperimentItemScore[];
|
|
75
|
+
}
|
|
76
|
+
/** Score difference between baseline and comparison experiment for a specific score name */
|
|
77
|
+
interface ScoreDelta {
|
|
78
|
+
scoreName: string;
|
|
79
|
+
baselineValue: number;
|
|
80
|
+
comparisonValue: number;
|
|
81
|
+
delta: number;
|
|
82
|
+
status: 'improved' | 'regressed' | 'unchanged';
|
|
83
|
+
}
|
|
84
|
+
/** One row in the comparison table */
|
|
85
|
+
interface ComparisonRow {
|
|
86
|
+
itemName: string;
|
|
87
|
+
experiments: Record<string, ComparisonItemData | null>;
|
|
88
|
+
scoreDeltas: ScoreDelta[];
|
|
89
|
+
}
|
|
90
|
+
/** Summary statistics for the comparison */
|
|
91
|
+
interface ComparisonSummary {
|
|
92
|
+
totalItems: number;
|
|
93
|
+
overlappingItems: number;
|
|
94
|
+
improved: number;
|
|
95
|
+
regressed: number;
|
|
96
|
+
unchanged: number;
|
|
97
|
+
unscored: number;
|
|
98
|
+
}
|
|
99
|
+
/** A segment of a word-level diff output */
|
|
100
|
+
interface DiffSegment {
|
|
101
|
+
value: string;
|
|
102
|
+
added?: boolean;
|
|
103
|
+
removed?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/** Sort options for the comparison table */
|
|
106
|
+
type ComparisonSortMode = 'item-name' | 'regressions-first' | 'improvements-first' | 'delta-abs';
|
|
107
|
+
|
|
108
|
+
interface ExperimentDetailViewProps {
|
|
109
|
+
experiment: ExperimentDetail | null;
|
|
110
|
+
isLoading: boolean;
|
|
111
|
+
t: (key: string) => string;
|
|
112
|
+
onTraceClick?: (traceId: string) => void;
|
|
113
|
+
chartsSlot?: React.ReactNode;
|
|
114
|
+
headerSlot?: React.ReactNode;
|
|
115
|
+
}
|
|
116
|
+
declare const ExperimentDetailView: ({ experiment, isLoading, t, onTraceClick, chartsSlot, headerSlot, }: ExperimentDetailViewProps) => react_jsx_runtime.JSX.Element;
|
|
117
|
+
|
|
118
|
+
interface ExperimentSummaryCardProps {
|
|
119
|
+
experiment: ExperimentSummary;
|
|
120
|
+
t: (key: string) => string;
|
|
121
|
+
}
|
|
122
|
+
declare const ExperimentSummaryCard: ({ experiment, t, }: ExperimentSummaryCardProps) => react_jsx_runtime.JSX.Element;
|
|
123
|
+
|
|
124
|
+
interface ExperimentItemsTableProps {
|
|
125
|
+
items: ExperimentItemSummary[];
|
|
126
|
+
t: (key: string) => string;
|
|
127
|
+
onTraceClick?: (traceId: string) => void;
|
|
128
|
+
}
|
|
129
|
+
declare const ExperimentItemsTable: ({ items, t, onTraceClick }: ExperimentItemsTableProps) => react_jsx_runtime.JSX.Element;
|
|
130
|
+
|
|
131
|
+
interface ExperimentComparisonProps {
|
|
132
|
+
rows: ComparisonRow[];
|
|
133
|
+
experimentNames: Record<string, string>;
|
|
134
|
+
experimentIds: string[];
|
|
135
|
+
summary: ComparisonSummary | null;
|
|
136
|
+
isLoading: boolean;
|
|
137
|
+
t: (key: string) => string;
|
|
138
|
+
headerSlot?: React.ReactNode;
|
|
139
|
+
}
|
|
140
|
+
declare const ExperimentComparison: ({ rows, experimentNames, experimentIds, summary, isLoading, t, headerSlot, }: ExperimentComparisonProps) => react_jsx_runtime.JSX.Element;
|
|
141
|
+
|
|
142
|
+
interface ComparisonTableProps {
|
|
143
|
+
rows: ComparisonRow[];
|
|
144
|
+
experimentNames: Record<string, string>;
|
|
145
|
+
experimentIds: string[];
|
|
146
|
+
sortMode: ComparisonSortMode;
|
|
147
|
+
onSortModeChange: (mode: ComparisonSortMode) => void;
|
|
148
|
+
t: (key: string) => string;
|
|
149
|
+
}
|
|
150
|
+
declare const ComparisonTable: ({ rows, experimentNames, experimentIds, sortMode, onSortModeChange, t, }: ComparisonTableProps) => react_jsx_runtime.JSX.Element;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* ComparisonDiffView Component
|
|
154
|
+
*
|
|
155
|
+
* Renders an inline word-level text diff between two experiment outputs.
|
|
156
|
+
*/
|
|
157
|
+
interface ComparisonDiffViewProps {
|
|
158
|
+
baselineOutput: string;
|
|
159
|
+
comparisonOutput: string;
|
|
160
|
+
baselineName: string;
|
|
161
|
+
comparisonName: string;
|
|
162
|
+
t: (key: string) => string;
|
|
163
|
+
}
|
|
164
|
+
declare function ComparisonDiffView({ baselineOutput, comparisonOutput, baselineName, comparisonName, t, }: ComparisonDiffViewProps): react_jsx_runtime.JSX.Element;
|
|
165
|
+
|
|
166
|
+
interface ComparisonSummaryBannerProps {
|
|
167
|
+
summary: ComparisonSummary;
|
|
168
|
+
t: (key: string) => string;
|
|
169
|
+
}
|
|
170
|
+
declare const ComparisonSummaryBanner: ({ summary, t, }: ComparisonSummaryBannerProps) => react_jsx_runtime.JSX.Element;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Comparison Utilities
|
|
174
|
+
*
|
|
175
|
+
* Pure utility functions for experiment comparison logic.
|
|
176
|
+
* No side effects — all functions are deterministic and testable.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Maps an ExperimentItemSummary to ComparisonItemData.
|
|
181
|
+
*/
|
|
182
|
+
declare function toComparisonItemData(item: ExperimentItemSummary): ComparisonItemData;
|
|
183
|
+
/**
|
|
184
|
+
* Computes score deltas between baseline and comparison experiment items.
|
|
185
|
+
*/
|
|
186
|
+
declare function computeScoreDeltas(baselineScores: ExperimentItemScore[], comparisonScores: ExperimentItemScore[]): ScoreDelta[];
|
|
187
|
+
/**
|
|
188
|
+
* Builds comparison rows from an array of experiment details.
|
|
189
|
+
*/
|
|
190
|
+
declare function buildComparisonRows(experiments: ExperimentDetail[]): ComparisonRow[];
|
|
191
|
+
/**
|
|
192
|
+
* Computes summary statistics for a set of comparison rows.
|
|
193
|
+
*/
|
|
194
|
+
declare function computeComparisonSummary(rows: ComparisonRow[], experimentIds: string[]): ComparisonSummary;
|
|
195
|
+
/**
|
|
196
|
+
* Returns a new array of comparison rows sorted by the given mode.
|
|
197
|
+
*/
|
|
198
|
+
declare function sortComparisonRows(rows: ComparisonRow[], mode: ComparisonSortMode): ComparisonRow[];
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* ExperimentEmptyState Component
|
|
202
|
+
*
|
|
203
|
+
* Displayed when there are no experiments to show.
|
|
204
|
+
*/
|
|
205
|
+
interface ExperimentEmptyStateProps {
|
|
206
|
+
t: (key: string) => string;
|
|
207
|
+
docsUrl?: string;
|
|
208
|
+
}
|
|
209
|
+
declare const ExperimentEmptyState: ({ t, docsUrl }: ExperimentEmptyStateProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
+
|
|
211
|
+
interface ExperimentsFilterOptions {
|
|
212
|
+
promptNames: string[];
|
|
213
|
+
datasetPaths: string[];
|
|
214
|
+
}
|
|
215
|
+
interface ExperimentsListProps {
|
|
216
|
+
experiments: ExperimentSummary[];
|
|
217
|
+
total: number;
|
|
218
|
+
isLoading: boolean;
|
|
219
|
+
error?: Error | null;
|
|
220
|
+
filterOptions: ExperimentsFilterOptions;
|
|
221
|
+
promptNameFilter: string | null;
|
|
222
|
+
onPromptNameFilterChange: (value: string | null) => void;
|
|
223
|
+
datasetPathFilter: string | null;
|
|
224
|
+
onDatasetPathFilterChange: (value: string | null) => void;
|
|
225
|
+
onExperimentClick: (experimentId: string) => void;
|
|
226
|
+
onCompare?: (experimentIds: string[]) => void;
|
|
227
|
+
onPageChange?: (page: number, rowsPerPage: number) => void;
|
|
228
|
+
onSelectionChange?: (selectedExperiments: ExperimentSummary[]) => void;
|
|
229
|
+
t: (key: string) => string;
|
|
230
|
+
actionsSlot?: React.ReactNode;
|
|
231
|
+
chartsSlot?: React.ReactNode;
|
|
232
|
+
emptyStateDocsUrl?: string;
|
|
233
|
+
}
|
|
234
|
+
declare const ExperimentsList: ({ experiments, total, isLoading, error, filterOptions, promptNameFilter, onPromptNameFilterChange, datasetPathFilter, onDatasetPathFilterChange, onExperimentClick, onCompare, onPageChange, onSelectionChange, t, actionsSlot, chartsSlot, emptyStateDocsUrl, }: ExperimentsListProps) => react_jsx_runtime.JSX.Element;
|
|
235
|
+
|
|
20
236
|
type Request = {
|
|
21
237
|
id: string;
|
|
22
238
|
tenant_id: string;
|
|
@@ -228,6 +444,7 @@ interface Trace {
|
|
|
228
444
|
tokens: string;
|
|
229
445
|
start: string;
|
|
230
446
|
end: string;
|
|
447
|
+
spanCount: number;
|
|
231
448
|
}
|
|
232
449
|
|
|
233
450
|
interface TraceListItemProps {
|
|
@@ -302,8 +519,8 @@ declare function getBranchColor(branchFamily: string, theme: Theme): string;
|
|
|
302
519
|
declare function calculateBranchFamilies(nodes: Node[], edges: Edge[]): Map<string, string>;
|
|
303
520
|
|
|
304
521
|
declare const NODE_DIMENSIONS: {
|
|
305
|
-
readonly width:
|
|
306
|
-
readonly height:
|
|
522
|
+
readonly width: 220;
|
|
523
|
+
readonly height: 80;
|
|
307
524
|
};
|
|
308
525
|
interface LayoutResult {
|
|
309
526
|
nodes: Node[];
|
|
@@ -1050,4 +1267,4 @@ declare function JsonEditor({ defaultValue, onChange, value, }: {
|
|
|
1050
1267
|
value?: string;
|
|
1051
1268
|
}): react_jsx_runtime.JSX.Element;
|
|
1052
1269
|
|
|
1053
|
-
export { AddAnnotationDialog, AddAnnotations, AttributesTab, AttributesViewer, DataGrid, EmptyContent, EvaluationList, EvaluationProvider, EvaluationTab, FormProvider, Iconify, InputOutputTab, JsonEditor, type LLMPrompt, type LLMText, Label, type LabelColor, type LabelProps, type LabelVariant, type LayoutResult, NODE_DIMENSIONS, type NodeGroup, type NodeTypeStyle, OutputDisplay, PromptList, RHFJsonEditor, RHFMultiSelect, RHFSelect, RHFSlider, RHFSwitch, RHFTextField, type Request, RequestTable, type RequestTableProps, Requests, type ScoreData, type Session, type SessionData, SessionsList, type SessionsListProps, type SpanData, type SpanForGrouping, SpanInfoContent, SpanInfoHeader, SpanInfoProvider, SpanInfoTabs, SpanInfoTitle, TIMELINE_CONSTANTS, TableEmptyRows, TableHeadCustom, TablePaginationCustom, type TableProps, TableSelectedAction, TableSkeleton, TimelineBar, type TimelineBarLayout, type TimelineBarProps, TimelineErrorBoundary, TimelineLegend, type TimelineLegendProps, type TimelineMetrics, TimelineRuler, type TimelineRulerProps, type TimelineRulerTick, TimelineTooltip, type TimelineTooltipProps, type TimelineViewState, type Trace, type TraceData, TraceDrawer, TraceDrawerCloseButton, TraceDrawerContainer, TraceDrawerContent, type TraceDrawerContextValue, TraceDrawerHeader, TraceDrawerMain, TraceDrawerProvider, type TraceDrawerProviderProps, TraceDrawerSidebar, TraceDrawerSidebarSectionResizer, TraceDrawerSubtitle, TraceDrawerTitle, TraceGraphCanvas, type TraceGraphCanvasProps, TraceInfoSkeleton, TraceLabel, type TraceListContextValue, TraceListItem, TraceListProvider, TraceTimeline, type TraceTimelineProps, TraceTree, TraceTreeItem, type TraceViewType, TracesList, type TracesListProps, type UseTimelineLayoutResult, type UseTimelineZoomResult, type WorkflowNodeType, applyDagreLayout, calculateBranchFamilies, computeTimelineLayout, formatDuration, getBranchColor, getDisplayName, getNodeTypeStyle, groupSpansByKey, hasChildSpans, inferNodeType, makeGroupKey, useEvaluationContext, useSpanInfoContext, useTable, useTimelineLayout, useTimelineViewPreference, useTimelineZoom, useTraceDrawer, useTraceDrawerContext, useTraceListContext };
|
|
1270
|
+
export { AddAnnotationDialog, AddAnnotations, AttributesTab, AttributesViewer, ComparisonDiffView, type ComparisonDiffViewProps, type ComparisonItemData, type ComparisonRow, type ComparisonSortMode, type ComparisonSummary, ComparisonSummaryBanner, type ComparisonSummaryBannerProps, ComparisonTable, type ComparisonTableProps, DataGrid, type DiffSegment, EmptyContent, EvaluationList, EvaluationProvider, EvaluationTab, ExperimentComparison, type ExperimentComparisonProps, type ExperimentDetail, ExperimentDetailView, type ExperimentDetailViewProps, ExperimentEmptyState, type ExperimentEmptyStateProps, type ExperimentItemScore, type ExperimentItemSummary, ExperimentItemsTable, type ExperimentItemsTableProps, type ExperimentSummary, ExperimentSummaryCard, type ExperimentSummaryCardProps, type ExperimentsFilterOptions, ExperimentsList, type ExperimentsListProps, FormProvider, Iconify, InputOutputTab, JsonEditor, type LLMPrompt, type LLMText, Label, type LabelColor, type LabelProps, type LabelVariant, type LayoutResult, NODE_DIMENSIONS, type NodeGroup, type NodeTypeStyle, OutputDisplay, PromptList, RHFJsonEditor, RHFMultiSelect, RHFSelect, RHFSlider, RHFSwitch, RHFTextField, type Request, RequestTable, type RequestTableProps, Requests, type ScoreData, type ScoreDelta, type Session, type SessionData, SessionsList, type SessionsListProps, type SpanData, type SpanForGrouping, SpanInfoContent, SpanInfoHeader, SpanInfoProvider, SpanInfoTabs, SpanInfoTitle, TIMELINE_CONSTANTS, TableEmptyRows, TableHeadCustom, TablePaginationCustom, type TableProps, TableSelectedAction, TableSkeleton, TimelineBar, type TimelineBarLayout, type TimelineBarProps, TimelineErrorBoundary, TimelineLegend, type TimelineLegendProps, type TimelineMetrics, TimelineRuler, type TimelineRulerProps, type TimelineRulerTick, TimelineTooltip, type TimelineTooltipProps, type TimelineViewState, type Trace, type TraceData, TraceDrawer, TraceDrawerCloseButton, TraceDrawerContainer, TraceDrawerContent, type TraceDrawerContextValue, TraceDrawerHeader, TraceDrawerMain, TraceDrawerProvider, type TraceDrawerProviderProps, TraceDrawerSidebar, TraceDrawerSidebarSectionResizer, TraceDrawerSubtitle, TraceDrawerTitle, TraceGraphCanvas, type TraceGraphCanvasProps, TraceInfoSkeleton, TraceLabel, type TraceListContextValue, TraceListItem, TraceListProvider, TraceTimeline, type TraceTimelineProps, TraceTree, TraceTreeItem, type TraceViewType, TracesList, type TracesListProps, type UseTimelineLayoutResult, type UseTimelineZoomResult, type WorkflowNodeType, applyDagreLayout, buildComparisonRows, calculateBranchFamilies, computeComparisonSummary, computeScoreDeltas, computeTimelineLayout, formatDuration, getBranchColor, getDisplayName, getNodeTypeStyle, groupSpansByKey, hasChildSpans, inferNodeType, makeGroupKey, sortComparisonRows, toComparisonItemData, useEvaluationContext, useSpanInfoContext, useTable, useTimelineLayout, useTimelineViewPreference, useTimelineZoom, useTraceDrawer, useTraceDrawerContext, useTraceListContext };
|
package/dist/index.d.ts
CHANGED
|
@@ -17,6 +17,222 @@ import { FormControlProps } from '@mui/material/FormControl';
|
|
|
17
17
|
import { SliderProps } from '@mui/material';
|
|
18
18
|
import { FormControlLabelProps } from '@mui/material/FormControlLabel';
|
|
19
19
|
|
|
20
|
+
/**
|
|
21
|
+
* Experiment Types
|
|
22
|
+
*
|
|
23
|
+
* Type definitions for experiment UI components.
|
|
24
|
+
* These types are the canonical source — the dashboard re-exports them.
|
|
25
|
+
*/
|
|
26
|
+
/** Score on a single experiment item */
|
|
27
|
+
interface ExperimentItemScore {
|
|
28
|
+
name: string;
|
|
29
|
+
score: number;
|
|
30
|
+
label: string;
|
|
31
|
+
reason: string;
|
|
32
|
+
}
|
|
33
|
+
/** Summary for list views (from analytics) */
|
|
34
|
+
interface ExperimentSummary {
|
|
35
|
+
id: string;
|
|
36
|
+
name: string;
|
|
37
|
+
datasetPath: string;
|
|
38
|
+
promptName: string;
|
|
39
|
+
start: string;
|
|
40
|
+
end: string;
|
|
41
|
+
itemCount: number;
|
|
42
|
+
avgLatencyMs: number;
|
|
43
|
+
totalCost: number;
|
|
44
|
+
totalTokens: number;
|
|
45
|
+
avgScore: number | null;
|
|
46
|
+
}
|
|
47
|
+
/** Single item in experiment */
|
|
48
|
+
interface ExperimentItemSummary {
|
|
49
|
+
traceId: string;
|
|
50
|
+
itemName: string;
|
|
51
|
+
expectedOutput: string;
|
|
52
|
+
input: string;
|
|
53
|
+
output: string;
|
|
54
|
+
latencyMs: number;
|
|
55
|
+
cost: number;
|
|
56
|
+
tokens: number;
|
|
57
|
+
model: string;
|
|
58
|
+
scores: ExperimentItemScore[];
|
|
59
|
+
}
|
|
60
|
+
/** Full detail with all items */
|
|
61
|
+
interface ExperimentDetail extends ExperimentSummary {
|
|
62
|
+
items: ExperimentItemSummary[];
|
|
63
|
+
}
|
|
64
|
+
/** Data for one experiment's version of a dataset item in the comparison */
|
|
65
|
+
interface ComparisonItemData {
|
|
66
|
+
traceId: string;
|
|
67
|
+
output: string;
|
|
68
|
+
input: string;
|
|
69
|
+
expectedOutput: string;
|
|
70
|
+
latencyMs: number;
|
|
71
|
+
cost: number;
|
|
72
|
+
tokens: number;
|
|
73
|
+
model: string;
|
|
74
|
+
scores: ExperimentItemScore[];
|
|
75
|
+
}
|
|
76
|
+
/** Score difference between baseline and comparison experiment for a specific score name */
|
|
77
|
+
interface ScoreDelta {
|
|
78
|
+
scoreName: string;
|
|
79
|
+
baselineValue: number;
|
|
80
|
+
comparisonValue: number;
|
|
81
|
+
delta: number;
|
|
82
|
+
status: 'improved' | 'regressed' | 'unchanged';
|
|
83
|
+
}
|
|
84
|
+
/** One row in the comparison table */
|
|
85
|
+
interface ComparisonRow {
|
|
86
|
+
itemName: string;
|
|
87
|
+
experiments: Record<string, ComparisonItemData | null>;
|
|
88
|
+
scoreDeltas: ScoreDelta[];
|
|
89
|
+
}
|
|
90
|
+
/** Summary statistics for the comparison */
|
|
91
|
+
interface ComparisonSummary {
|
|
92
|
+
totalItems: number;
|
|
93
|
+
overlappingItems: number;
|
|
94
|
+
improved: number;
|
|
95
|
+
regressed: number;
|
|
96
|
+
unchanged: number;
|
|
97
|
+
unscored: number;
|
|
98
|
+
}
|
|
99
|
+
/** A segment of a word-level diff output */
|
|
100
|
+
interface DiffSegment {
|
|
101
|
+
value: string;
|
|
102
|
+
added?: boolean;
|
|
103
|
+
removed?: boolean;
|
|
104
|
+
}
|
|
105
|
+
/** Sort options for the comparison table */
|
|
106
|
+
type ComparisonSortMode = 'item-name' | 'regressions-first' | 'improvements-first' | 'delta-abs';
|
|
107
|
+
|
|
108
|
+
interface ExperimentDetailViewProps {
|
|
109
|
+
experiment: ExperimentDetail | null;
|
|
110
|
+
isLoading: boolean;
|
|
111
|
+
t: (key: string) => string;
|
|
112
|
+
onTraceClick?: (traceId: string) => void;
|
|
113
|
+
chartsSlot?: React.ReactNode;
|
|
114
|
+
headerSlot?: React.ReactNode;
|
|
115
|
+
}
|
|
116
|
+
declare const ExperimentDetailView: ({ experiment, isLoading, t, onTraceClick, chartsSlot, headerSlot, }: ExperimentDetailViewProps) => react_jsx_runtime.JSX.Element;
|
|
117
|
+
|
|
118
|
+
interface ExperimentSummaryCardProps {
|
|
119
|
+
experiment: ExperimentSummary;
|
|
120
|
+
t: (key: string) => string;
|
|
121
|
+
}
|
|
122
|
+
declare const ExperimentSummaryCard: ({ experiment, t, }: ExperimentSummaryCardProps) => react_jsx_runtime.JSX.Element;
|
|
123
|
+
|
|
124
|
+
interface ExperimentItemsTableProps {
|
|
125
|
+
items: ExperimentItemSummary[];
|
|
126
|
+
t: (key: string) => string;
|
|
127
|
+
onTraceClick?: (traceId: string) => void;
|
|
128
|
+
}
|
|
129
|
+
declare const ExperimentItemsTable: ({ items, t, onTraceClick }: ExperimentItemsTableProps) => react_jsx_runtime.JSX.Element;
|
|
130
|
+
|
|
131
|
+
interface ExperimentComparisonProps {
|
|
132
|
+
rows: ComparisonRow[];
|
|
133
|
+
experimentNames: Record<string, string>;
|
|
134
|
+
experimentIds: string[];
|
|
135
|
+
summary: ComparisonSummary | null;
|
|
136
|
+
isLoading: boolean;
|
|
137
|
+
t: (key: string) => string;
|
|
138
|
+
headerSlot?: React.ReactNode;
|
|
139
|
+
}
|
|
140
|
+
declare const ExperimentComparison: ({ rows, experimentNames, experimentIds, summary, isLoading, t, headerSlot, }: ExperimentComparisonProps) => react_jsx_runtime.JSX.Element;
|
|
141
|
+
|
|
142
|
+
interface ComparisonTableProps {
|
|
143
|
+
rows: ComparisonRow[];
|
|
144
|
+
experimentNames: Record<string, string>;
|
|
145
|
+
experimentIds: string[];
|
|
146
|
+
sortMode: ComparisonSortMode;
|
|
147
|
+
onSortModeChange: (mode: ComparisonSortMode) => void;
|
|
148
|
+
t: (key: string) => string;
|
|
149
|
+
}
|
|
150
|
+
declare const ComparisonTable: ({ rows, experimentNames, experimentIds, sortMode, onSortModeChange, t, }: ComparisonTableProps) => react_jsx_runtime.JSX.Element;
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* ComparisonDiffView Component
|
|
154
|
+
*
|
|
155
|
+
* Renders an inline word-level text diff between two experiment outputs.
|
|
156
|
+
*/
|
|
157
|
+
interface ComparisonDiffViewProps {
|
|
158
|
+
baselineOutput: string;
|
|
159
|
+
comparisonOutput: string;
|
|
160
|
+
baselineName: string;
|
|
161
|
+
comparisonName: string;
|
|
162
|
+
t: (key: string) => string;
|
|
163
|
+
}
|
|
164
|
+
declare function ComparisonDiffView({ baselineOutput, comparisonOutput, baselineName, comparisonName, t, }: ComparisonDiffViewProps): react_jsx_runtime.JSX.Element;
|
|
165
|
+
|
|
166
|
+
interface ComparisonSummaryBannerProps {
|
|
167
|
+
summary: ComparisonSummary;
|
|
168
|
+
t: (key: string) => string;
|
|
169
|
+
}
|
|
170
|
+
declare const ComparisonSummaryBanner: ({ summary, t, }: ComparisonSummaryBannerProps) => react_jsx_runtime.JSX.Element;
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* Comparison Utilities
|
|
174
|
+
*
|
|
175
|
+
* Pure utility functions for experiment comparison logic.
|
|
176
|
+
* No side effects — all functions are deterministic and testable.
|
|
177
|
+
*/
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* Maps an ExperimentItemSummary to ComparisonItemData.
|
|
181
|
+
*/
|
|
182
|
+
declare function toComparisonItemData(item: ExperimentItemSummary): ComparisonItemData;
|
|
183
|
+
/**
|
|
184
|
+
* Computes score deltas between baseline and comparison experiment items.
|
|
185
|
+
*/
|
|
186
|
+
declare function computeScoreDeltas(baselineScores: ExperimentItemScore[], comparisonScores: ExperimentItemScore[]): ScoreDelta[];
|
|
187
|
+
/**
|
|
188
|
+
* Builds comparison rows from an array of experiment details.
|
|
189
|
+
*/
|
|
190
|
+
declare function buildComparisonRows(experiments: ExperimentDetail[]): ComparisonRow[];
|
|
191
|
+
/**
|
|
192
|
+
* Computes summary statistics for a set of comparison rows.
|
|
193
|
+
*/
|
|
194
|
+
declare function computeComparisonSummary(rows: ComparisonRow[], experimentIds: string[]): ComparisonSummary;
|
|
195
|
+
/**
|
|
196
|
+
* Returns a new array of comparison rows sorted by the given mode.
|
|
197
|
+
*/
|
|
198
|
+
declare function sortComparisonRows(rows: ComparisonRow[], mode: ComparisonSortMode): ComparisonRow[];
|
|
199
|
+
|
|
200
|
+
/**
|
|
201
|
+
* ExperimentEmptyState Component
|
|
202
|
+
*
|
|
203
|
+
* Displayed when there are no experiments to show.
|
|
204
|
+
*/
|
|
205
|
+
interface ExperimentEmptyStateProps {
|
|
206
|
+
t: (key: string) => string;
|
|
207
|
+
docsUrl?: string;
|
|
208
|
+
}
|
|
209
|
+
declare const ExperimentEmptyState: ({ t, docsUrl }: ExperimentEmptyStateProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
+
|
|
211
|
+
interface ExperimentsFilterOptions {
|
|
212
|
+
promptNames: string[];
|
|
213
|
+
datasetPaths: string[];
|
|
214
|
+
}
|
|
215
|
+
interface ExperimentsListProps {
|
|
216
|
+
experiments: ExperimentSummary[];
|
|
217
|
+
total: number;
|
|
218
|
+
isLoading: boolean;
|
|
219
|
+
error?: Error | null;
|
|
220
|
+
filterOptions: ExperimentsFilterOptions;
|
|
221
|
+
promptNameFilter: string | null;
|
|
222
|
+
onPromptNameFilterChange: (value: string | null) => void;
|
|
223
|
+
datasetPathFilter: string | null;
|
|
224
|
+
onDatasetPathFilterChange: (value: string | null) => void;
|
|
225
|
+
onExperimentClick: (experimentId: string) => void;
|
|
226
|
+
onCompare?: (experimentIds: string[]) => void;
|
|
227
|
+
onPageChange?: (page: number, rowsPerPage: number) => void;
|
|
228
|
+
onSelectionChange?: (selectedExperiments: ExperimentSummary[]) => void;
|
|
229
|
+
t: (key: string) => string;
|
|
230
|
+
actionsSlot?: React.ReactNode;
|
|
231
|
+
chartsSlot?: React.ReactNode;
|
|
232
|
+
emptyStateDocsUrl?: string;
|
|
233
|
+
}
|
|
234
|
+
declare const ExperimentsList: ({ experiments, total, isLoading, error, filterOptions, promptNameFilter, onPromptNameFilterChange, datasetPathFilter, onDatasetPathFilterChange, onExperimentClick, onCompare, onPageChange, onSelectionChange, t, actionsSlot, chartsSlot, emptyStateDocsUrl, }: ExperimentsListProps) => react_jsx_runtime.JSX.Element;
|
|
235
|
+
|
|
20
236
|
type Request = {
|
|
21
237
|
id: string;
|
|
22
238
|
tenant_id: string;
|
|
@@ -228,6 +444,7 @@ interface Trace {
|
|
|
228
444
|
tokens: string;
|
|
229
445
|
start: string;
|
|
230
446
|
end: string;
|
|
447
|
+
spanCount: number;
|
|
231
448
|
}
|
|
232
449
|
|
|
233
450
|
interface TraceListItemProps {
|
|
@@ -302,8 +519,8 @@ declare function getBranchColor(branchFamily: string, theme: Theme): string;
|
|
|
302
519
|
declare function calculateBranchFamilies(nodes: Node[], edges: Edge[]): Map<string, string>;
|
|
303
520
|
|
|
304
521
|
declare const NODE_DIMENSIONS: {
|
|
305
|
-
readonly width:
|
|
306
|
-
readonly height:
|
|
522
|
+
readonly width: 220;
|
|
523
|
+
readonly height: 80;
|
|
307
524
|
};
|
|
308
525
|
interface LayoutResult {
|
|
309
526
|
nodes: Node[];
|
|
@@ -1050,4 +1267,4 @@ declare function JsonEditor({ defaultValue, onChange, value, }: {
|
|
|
1050
1267
|
value?: string;
|
|
1051
1268
|
}): react_jsx_runtime.JSX.Element;
|
|
1052
1269
|
|
|
1053
|
-
export { AddAnnotationDialog, AddAnnotations, AttributesTab, AttributesViewer, DataGrid, EmptyContent, EvaluationList, EvaluationProvider, EvaluationTab, FormProvider, Iconify, InputOutputTab, JsonEditor, type LLMPrompt, type LLMText, Label, type LabelColor, type LabelProps, type LabelVariant, type LayoutResult, NODE_DIMENSIONS, type NodeGroup, type NodeTypeStyle, OutputDisplay, PromptList, RHFJsonEditor, RHFMultiSelect, RHFSelect, RHFSlider, RHFSwitch, RHFTextField, type Request, RequestTable, type RequestTableProps, Requests, type ScoreData, type Session, type SessionData, SessionsList, type SessionsListProps, type SpanData, type SpanForGrouping, SpanInfoContent, SpanInfoHeader, SpanInfoProvider, SpanInfoTabs, SpanInfoTitle, TIMELINE_CONSTANTS, TableEmptyRows, TableHeadCustom, TablePaginationCustom, type TableProps, TableSelectedAction, TableSkeleton, TimelineBar, type TimelineBarLayout, type TimelineBarProps, TimelineErrorBoundary, TimelineLegend, type TimelineLegendProps, type TimelineMetrics, TimelineRuler, type TimelineRulerProps, type TimelineRulerTick, TimelineTooltip, type TimelineTooltipProps, type TimelineViewState, type Trace, type TraceData, TraceDrawer, TraceDrawerCloseButton, TraceDrawerContainer, TraceDrawerContent, type TraceDrawerContextValue, TraceDrawerHeader, TraceDrawerMain, TraceDrawerProvider, type TraceDrawerProviderProps, TraceDrawerSidebar, TraceDrawerSidebarSectionResizer, TraceDrawerSubtitle, TraceDrawerTitle, TraceGraphCanvas, type TraceGraphCanvasProps, TraceInfoSkeleton, TraceLabel, type TraceListContextValue, TraceListItem, TraceListProvider, TraceTimeline, type TraceTimelineProps, TraceTree, TraceTreeItem, type TraceViewType, TracesList, type TracesListProps, type UseTimelineLayoutResult, type UseTimelineZoomResult, type WorkflowNodeType, applyDagreLayout, calculateBranchFamilies, computeTimelineLayout, formatDuration, getBranchColor, getDisplayName, getNodeTypeStyle, groupSpansByKey, hasChildSpans, inferNodeType, makeGroupKey, useEvaluationContext, useSpanInfoContext, useTable, useTimelineLayout, useTimelineViewPreference, useTimelineZoom, useTraceDrawer, useTraceDrawerContext, useTraceListContext };
|
|
1270
|
+
export { AddAnnotationDialog, AddAnnotations, AttributesTab, AttributesViewer, ComparisonDiffView, type ComparisonDiffViewProps, type ComparisonItemData, type ComparisonRow, type ComparisonSortMode, type ComparisonSummary, ComparisonSummaryBanner, type ComparisonSummaryBannerProps, ComparisonTable, type ComparisonTableProps, DataGrid, type DiffSegment, EmptyContent, EvaluationList, EvaluationProvider, EvaluationTab, ExperimentComparison, type ExperimentComparisonProps, type ExperimentDetail, ExperimentDetailView, type ExperimentDetailViewProps, ExperimentEmptyState, type ExperimentEmptyStateProps, type ExperimentItemScore, type ExperimentItemSummary, ExperimentItemsTable, type ExperimentItemsTableProps, type ExperimentSummary, ExperimentSummaryCard, type ExperimentSummaryCardProps, type ExperimentsFilterOptions, ExperimentsList, type ExperimentsListProps, FormProvider, Iconify, InputOutputTab, JsonEditor, type LLMPrompt, type LLMText, Label, type LabelColor, type LabelProps, type LabelVariant, type LayoutResult, NODE_DIMENSIONS, type NodeGroup, type NodeTypeStyle, OutputDisplay, PromptList, RHFJsonEditor, RHFMultiSelect, RHFSelect, RHFSlider, RHFSwitch, RHFTextField, type Request, RequestTable, type RequestTableProps, Requests, type ScoreData, type ScoreDelta, type Session, type SessionData, SessionsList, type SessionsListProps, type SpanData, type SpanForGrouping, SpanInfoContent, SpanInfoHeader, SpanInfoProvider, SpanInfoTabs, SpanInfoTitle, TIMELINE_CONSTANTS, TableEmptyRows, TableHeadCustom, TablePaginationCustom, type TableProps, TableSelectedAction, TableSkeleton, TimelineBar, type TimelineBarLayout, type TimelineBarProps, TimelineErrorBoundary, TimelineLegend, type TimelineLegendProps, type TimelineMetrics, TimelineRuler, type TimelineRulerProps, type TimelineRulerTick, TimelineTooltip, type TimelineTooltipProps, type TimelineViewState, type Trace, type TraceData, TraceDrawer, TraceDrawerCloseButton, TraceDrawerContainer, TraceDrawerContent, type TraceDrawerContextValue, TraceDrawerHeader, TraceDrawerMain, TraceDrawerProvider, type TraceDrawerProviderProps, TraceDrawerSidebar, TraceDrawerSidebarSectionResizer, TraceDrawerSubtitle, TraceDrawerTitle, TraceGraphCanvas, type TraceGraphCanvasProps, TraceInfoSkeleton, TraceLabel, type TraceListContextValue, TraceListItem, TraceListProvider, TraceTimeline, type TraceTimelineProps, TraceTree, TraceTreeItem, type TraceViewType, TracesList, type TracesListProps, type UseTimelineLayoutResult, type UseTimelineZoomResult, type WorkflowNodeType, applyDagreLayout, buildComparisonRows, calculateBranchFamilies, computeComparisonSummary, computeScoreDeltas, computeTimelineLayout, formatDuration, getBranchColor, getDisplayName, getNodeTypeStyle, groupSpansByKey, hasChildSpans, inferNodeType, makeGroupKey, sortComparisonRows, toComparisonItemData, useEvaluationContext, useSpanInfoContext, useTable, useTimelineLayout, useTimelineViewPreference, useTimelineZoom, useTraceDrawer, useTraceDrawerContext, useTraceListContext };
|