@meridianlabs/log-viewer 0.3.193 → 0.3.196
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/lib/app/log-view/LogView.d.ts.map +1 -1
- package/lib/app/log-view/tabs/InfoTab.d.ts +3 -1
- package/lib/app/log-view/tabs/InfoTab.d.ts.map +1 -1
- package/lib/app/log-view/tabs/JsonTab.d.ts +2 -2
- package/lib/app/log-view/tabs/JsonTab.d.ts.map +1 -1
- package/lib/app/log-view/tabs/TaskTab.d.ts +3 -1
- package/lib/app/log-view/tabs/TaskTab.d.ts.map +1 -1
- package/lib/app/navbar/Navbar.d.ts.map +1 -1
- package/lib/app/plan/PlanCard.d.ts +1 -0
- package/lib/app/plan/PlanCard.d.ts.map +1 -1
- package/lib/app/samples/SampleDisplay.d.ts.map +1 -1
- package/lib/app/samples/chat/ChatMessageRow.d.ts +1 -1
- package/lib/app/samples/chat/ChatMessageRow.d.ts.map +1 -1
- package/lib/app/samples/chat/ChatView.d.ts.map +1 -1
- package/lib/app/samples/chat/ChatViewVirtualList.d.ts.map +1 -1
- package/lib/app/samples/chat/tools/ToolCallView.d.ts +2 -2
- package/lib/app/samples/chat/tools/ToolCallView.d.ts.map +1 -1
- package/lib/app/samples/chat/tools/ToolOutput.d.ts +2 -2
- package/lib/app/samples/chat/tools/ToolOutput.d.ts.map +1 -1
- package/lib/app/samples/sampleLimit.d.ts +2 -2
- package/lib/app/samples/sampleLimit.d.ts.map +1 -1
- package/lib/app/samples/transcript/SampleLimitEventView.d.ts.map +1 -1
- package/lib/app/samples/transcript/TranscriptFilter.d.ts.map +1 -1
- package/lib/app/samples/transcript/hooks.d.ts +2 -0
- package/lib/app/samples/transcript/hooks.d.ts.map +1 -1
- package/lib/app/types.d.ts +2 -2
- package/lib/app/types.d.ts.map +1 -1
- package/lib/client/api/client-api.d.ts.map +1 -1
- package/lib/client/api/static-http/fetch.d.ts.map +1 -1
- package/lib/client/api/types.d.ts +7 -1
- package/lib/client/api/types.d.ts.map +1 -1
- package/lib/client/remote/remoteLogFile.d.ts.map +1 -1
- package/lib/index.js +125 -78
- package/lib/index.js.map +1 -1
- package/lib/state/sampleUtils.d.ts.map +1 -1
- package/lib/styles/index.css +13 -14
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -16820,12 +16820,54 @@ const resolveAttachments = (value2, attachments, onFailedResolve) => {
|
|
|
16820
16820
|
}
|
|
16821
16821
|
return value2;
|
|
16822
16822
|
};
|
|
16823
|
+
const expandRefs = (refs, pool) => refs.flatMap(([start2, end_exclusive]) => pool.slice(start2, end_exclusive));
|
|
16824
|
+
const resolveEventRefs = (events, msgPool, callPool) => {
|
|
16825
|
+
return events.map((event) => {
|
|
16826
|
+
if (event.event !== "model") return event;
|
|
16827
|
+
const resolved = Array.isArray(event.input_refs) ? {
|
|
16828
|
+
...event,
|
|
16829
|
+
input: expandRefs(
|
|
16830
|
+
event.input_refs,
|
|
16831
|
+
msgPool
|
|
16832
|
+
),
|
|
16833
|
+
input_refs: null
|
|
16834
|
+
} : event;
|
|
16835
|
+
if (!resolved.call || !Array.isArray(resolved.call.call_refs))
|
|
16836
|
+
return resolved;
|
|
16837
|
+
return {
|
|
16838
|
+
...resolved,
|
|
16839
|
+
call: {
|
|
16840
|
+
...resolved.call,
|
|
16841
|
+
request: {
|
|
16842
|
+
...resolved.call.request,
|
|
16843
|
+
[resolved.call.call_key || "messages"]: expandRefs(
|
|
16844
|
+
resolved.call.call_refs,
|
|
16845
|
+
callPool
|
|
16846
|
+
)
|
|
16847
|
+
},
|
|
16848
|
+
call_refs: null,
|
|
16849
|
+
call_key: null
|
|
16850
|
+
}
|
|
16851
|
+
};
|
|
16852
|
+
});
|
|
16853
|
+
};
|
|
16854
|
+
const resolvePools = (sample2) => {
|
|
16855
|
+
const { message_pool, call_pool } = sample2;
|
|
16856
|
+
if (!message_pool?.length && !call_pool?.length) return sample2;
|
|
16857
|
+
return {
|
|
16858
|
+
...sample2,
|
|
16859
|
+
events: resolveEventRefs(sample2.events, message_pool, call_pool),
|
|
16860
|
+
message_pool: [],
|
|
16861
|
+
call_pool: []
|
|
16862
|
+
};
|
|
16863
|
+
};
|
|
16823
16864
|
const resolveSample$1 = (sample2) => {
|
|
16824
16865
|
sample2 = { ...sample2 };
|
|
16825
16866
|
if (sample2.transcript) {
|
|
16826
16867
|
sample2.events = sample2.transcript.events;
|
|
16827
16868
|
sample2.attachments = sample2.transcript.content;
|
|
16828
16869
|
}
|
|
16870
|
+
sample2 = resolvePools(sample2);
|
|
16829
16871
|
sample2.attachments = sample2.attachments || {};
|
|
16830
16872
|
sample2.input = resolveAttachments(sample2.input, sample2.attachments);
|
|
16831
16873
|
sample2.messages = resolveAttachments(sample2.messages, sample2.attachments);
|
|
@@ -97841,6 +97883,9 @@ const openRemoteLogFile = async (api2, url, concurrency) => {
|
|
|
97841
97883
|
results: header2.results,
|
|
97842
97884
|
stats: header2.stats,
|
|
97843
97885
|
error: header2.error,
|
|
97886
|
+
tags: header2.tags,
|
|
97887
|
+
metadata: header2.metadata,
|
|
97888
|
+
log_updates: header2.log_updates,
|
|
97844
97889
|
sampleSummaries
|
|
97845
97890
|
};
|
|
97846
97891
|
return result2;
|
|
@@ -97965,6 +98010,9 @@ const clientApi = (api2, log_file, debug2 = false) => {
|
|
|
97965
98010
|
results: parsed.results,
|
|
97966
98011
|
stats: parsed.stats,
|
|
97967
98012
|
error: parsed.error,
|
|
98013
|
+
tags: parsed.tags,
|
|
98014
|
+
metadata: parsed.metadata,
|
|
98015
|
+
log_updates: parsed.log_updates,
|
|
97968
98016
|
sampleSummaries
|
|
97969
98017
|
};
|
|
97970
98018
|
}
|
|
@@ -98268,21 +98316,9 @@ const fetchManifest = async (log_dir) => {
|
|
|
98268
98316
|
const parsed = await asyncJsonParse(text2);
|
|
98269
98317
|
return { raw: text2, parsed };
|
|
98270
98318
|
};
|
|
98271
|
-
const handle404 = (response) => {
|
|
98272
|
-
return response.status === 404;
|
|
98273
|
-
};
|
|
98274
|
-
const logs = await fetchFile(
|
|
98275
|
-
log_dir + "/listing.json",
|
|
98276
|
-
parseListing,
|
|
98277
|
-
handle404
|
|
98278
|
-
);
|
|
98279
|
-
if (logs) {
|
|
98280
|
-
return logs;
|
|
98281
|
-
}
|
|
98282
98319
|
return await fetchFile(
|
|
98283
|
-
"
|
|
98284
|
-
parseListing
|
|
98285
|
-
handle404
|
|
98320
|
+
log_dir + "/listing.json",
|
|
98321
|
+
parseListing
|
|
98286
98322
|
);
|
|
98287
98323
|
};
|
|
98288
98324
|
const fetchJsonFile = async (file, handleError2) => {
|
|
@@ -99448,6 +99484,8 @@ const ToolOutput = ({ output: output2, className: className2 }) => {
|
|
|
99448
99484
|
const key2 = `tool-output-${idx}`;
|
|
99449
99485
|
if (out.type === "text") {
|
|
99450
99486
|
outputs.push(/* @__PURE__ */ jsxRuntimeExports.jsx(ToolTextOutput, { text: out.text }, key2));
|
|
99487
|
+
} else if (out.type === "document") {
|
|
99488
|
+
outputs.push(/* @__PURE__ */ jsxRuntimeExports.jsx(ContentDocumentView, { id: key2, document: out }, key2));
|
|
99451
99489
|
} else {
|
|
99452
99490
|
if (out.image.startsWith("data:")) {
|
|
99453
99491
|
outputs.push(
|
|
@@ -100211,12 +100249,7 @@ const resolveToolMessage = (toolMessage) => {
|
|
|
100211
100249
|
}
|
|
100212
100250
|
]
|
|
100213
100251
|
};
|
|
100214
|
-
} else if (
|
|
100215
|
-
return {
|
|
100216
|
-
content: [con],
|
|
100217
|
-
type: "tool"
|
|
100218
|
-
};
|
|
100219
|
-
} else if (con.type === "image") {
|
|
100252
|
+
} else if (["text", "image", "document"].includes(con.type)) {
|
|
100220
100253
|
return {
|
|
100221
100254
|
content: [con],
|
|
100222
100255
|
type: "tool"
|
|
@@ -100346,7 +100379,7 @@ const styles$1j = {
|
|
|
100346
100379
|
container: container$k
|
|
100347
100380
|
};
|
|
100348
100381
|
const ChatMessageRow = ({
|
|
100349
|
-
|
|
100382
|
+
id,
|
|
100350
100383
|
number: number2,
|
|
100351
100384
|
resolvedMessage,
|
|
100352
100385
|
toolCallStyle,
|
|
@@ -100379,7 +100412,7 @@ const ChatMessageRow = ({
|
|
|
100379
100412
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
100380
100413
|
ChatMessage,
|
|
100381
100414
|
{
|
|
100382
|
-
id: `${
|
|
100415
|
+
id: `${id}-chat-messages`,
|
|
100383
100416
|
message: resolvedMessage.message,
|
|
100384
100417
|
toolMessages: resolvedMessage.toolMessages,
|
|
100385
100418
|
indented: indented2,
|
|
@@ -100404,7 +100437,7 @@ const ChatMessageRow = ({
|
|
|
100404
100437
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
100405
100438
|
ChatMessage,
|
|
100406
100439
|
{
|
|
100407
|
-
id: `${
|
|
100440
|
+
id: `${id}-chat-messages`,
|
|
100408
100441
|
message: resolvedMessage.message,
|
|
100409
100442
|
toolMessages: resolvedMessage.toolMessages,
|
|
100410
100443
|
indented: indented2,
|
|
@@ -100515,10 +100548,11 @@ const ChatView = ({
|
|
|
100515
100548
|
});
|
|
100516
100549
|
const result2 = /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(className2), children: collapsedMessages.map((msg, index) => {
|
|
100517
100550
|
const number2 = collapsedMessages.length > 1 && numbered ? index + 1 : void 0;
|
|
100551
|
+
const rowId = (id || "chat-view") + `-msg-${index}`;
|
|
100518
100552
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
100519
100553
|
ChatMessageRow,
|
|
100520
100554
|
{
|
|
100521
|
-
|
|
100555
|
+
id: rowId,
|
|
100522
100556
|
number: number2,
|
|
100523
100557
|
resolvedMessage: msg,
|
|
100524
100558
|
indented: indented2,
|
|
@@ -106577,7 +106611,7 @@ const ViewerOptionsPopover = ({
|
|
|
106577
106611
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(styles$1d.fullWidth, styles$1d.fullWidthPadded), children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: styles$1d.logDir, children: logDir2 }) }),
|
|
106578
106612
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(styles$1d.spacer) }),
|
|
106579
106613
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx("text-style-label", "text-style-secondary"), children: "Version" }),
|
|
106580
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(), children: "0.3.
|
|
106614
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(), children: "0.3.196-0-ged6b90e25" }),
|
|
106581
106615
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx("text-style-label", "text-style-secondary"), children: "Schema" }),
|
|
106582
106616
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(), children: DB_VERSION }),
|
|
106583
106617
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(styles$1d.spacer) }),
|
|
@@ -106730,8 +106764,14 @@ const Navbar = ({
|
|
|
106730
106764
|
breadcrumbsEnabled
|
|
106731
106765
|
}) => {
|
|
106732
106766
|
const logDir2 = useStore((state) => state.logs.logDir);
|
|
106733
|
-
const
|
|
106734
|
-
|
|
106767
|
+
const displayDir = logDir2 === "." ? basename(
|
|
106768
|
+
window.location.pathname.substring(
|
|
106769
|
+
0,
|
|
106770
|
+
window.location.pathname.lastIndexOf("/")
|
|
106771
|
+
)
|
|
106772
|
+
) : logDir2 || "";
|
|
106773
|
+
const baseLogDir = dirname(displayDir);
|
|
106774
|
+
const baseLogName = basename(displayDir);
|
|
106735
106775
|
const pathContainerRef = useRef(null);
|
|
106736
106776
|
const backUrl = fnNavigationUrl(
|
|
106737
106777
|
ensureTrailingSlash(dirname(currentPath || "")),
|
|
@@ -167002,10 +167042,11 @@ const ChatViewVirtualListComponent = memo(
|
|
|
167002
167042
|
const renderRow = useCallback(
|
|
167003
167043
|
(index, item2) => {
|
|
167004
167044
|
const number2 = collapsedMessages.length > 1 && numbered ? index + 1 : void 0;
|
|
167045
|
+
const rowId = `${id}-msg-${index}`;
|
|
167005
167046
|
return /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
167006
167047
|
ChatMessageRow,
|
|
167007
167048
|
{
|
|
167008
|
-
|
|
167049
|
+
id: rowId,
|
|
167009
167050
|
number: number2,
|
|
167010
167051
|
resolvedMessage: item2,
|
|
167011
167052
|
indented: indented2,
|
|
@@ -167863,12 +167904,19 @@ const useTranscriptFilter = () => {
|
|
|
167863
167904
|
const setDefaultFilter = useCallback(() => {
|
|
167864
167905
|
setFilteredEventTypes([...kDefaultExcludeEvents]);
|
|
167865
167906
|
}, [setFilteredEventTypes]);
|
|
167907
|
+
const setNoneFilter = useCallback(() => {
|
|
167908
|
+
setFilteredEventTypes(Object.keys(eventTypes));
|
|
167909
|
+
}, [setFilteredEventTypes]);
|
|
167866
167910
|
const isDefaultFilter = useMemo(() => {
|
|
167867
167911
|
return filtered.length === kDefaultExcludeEvents.length && [...filtered].every((type) => kDefaultExcludeEvents.includes(type));
|
|
167868
167912
|
}, [filtered]);
|
|
167869
167913
|
const isDebugFilter = useMemo(() => {
|
|
167870
167914
|
return filtered.length === 0;
|
|
167871
167915
|
}, [filtered]);
|
|
167916
|
+
const isNoneFilter = useMemo(() => {
|
|
167917
|
+
const allTypes = Object.keys(eventTypes);
|
|
167918
|
+
return filtered.length === allTypes.length && allTypes.every((type) => filtered.includes(type));
|
|
167919
|
+
}, [filtered]);
|
|
167872
167920
|
const arrangedEventTypes = useCallback((columns = 1) => {
|
|
167873
167921
|
const keys = Object.keys(eventTypes);
|
|
167874
167922
|
const sortedKeys = keys.sort((a, b) => {
|
|
@@ -167903,8 +167951,10 @@ const useTranscriptFilter = () => {
|
|
|
167903
167951
|
filtered,
|
|
167904
167952
|
isDefaultFilter,
|
|
167905
167953
|
isDebugFilter,
|
|
167954
|
+
isNoneFilter,
|
|
167906
167955
|
setDefaultFilter,
|
|
167907
167956
|
setDebugFilter,
|
|
167957
|
+
setNoneFilter,
|
|
167908
167958
|
filterEventType,
|
|
167909
167959
|
eventTypes,
|
|
167910
167960
|
arrangedEventTypes
|
|
@@ -167928,8 +167978,10 @@ const TranscriptFilterPopover = ({
|
|
|
167928
167978
|
const {
|
|
167929
167979
|
isDefaultFilter,
|
|
167930
167980
|
isDebugFilter,
|
|
167981
|
+
isNoneFilter,
|
|
167931
167982
|
setDefaultFilter,
|
|
167932
167983
|
setDebugFilter,
|
|
167984
|
+
setNoneFilter,
|
|
167933
167985
|
filterEventType,
|
|
167934
167986
|
eventTypes: eventTypes2,
|
|
167935
167987
|
filtered,
|
|
@@ -167968,6 +168020,18 @@ const TranscriptFilterPopover = ({
|
|
|
167968
168020
|
onClick: () => setDebugFilter(),
|
|
167969
168021
|
children: "Debug"
|
|
167970
168022
|
}
|
|
168023
|
+
),
|
|
168024
|
+
"|",
|
|
168025
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
168026
|
+
"a",
|
|
168027
|
+
{
|
|
168028
|
+
className: clsx(
|
|
168029
|
+
styles$U.link,
|
|
168030
|
+
isNoneFilter ? styles$U.selected : void 0
|
|
168031
|
+
),
|
|
168032
|
+
onClick: () => setNoneFilter(),
|
|
168033
|
+
children: "None"
|
|
168034
|
+
}
|
|
167971
168035
|
)
|
|
167972
168036
|
] }),
|
|
167973
168037
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: clsx(styles$U.grid, "text-size-smaller"), children: arrangedEventTypes(2).map((eventType) => {
|
|
@@ -180569,7 +180633,7 @@ const SampleDisplay = ({
|
|
|
180569
180633
|
const toggleCollapsedMode = useCallback(() => {
|
|
180570
180634
|
setCollapsedMode(isCollapsed(collapsedMode) ? "expanded" : "collapsed");
|
|
180571
180635
|
}, [collapsedMode, setCollapsedMode]);
|
|
180572
|
-
const { isDebugFilter, isDefaultFilter } = useTranscriptFilter();
|
|
180636
|
+
const { isDebugFilter, isDefaultFilter, isNoneFilter } = useTranscriptFilter();
|
|
180573
180637
|
const api2 = useStore((state) => state.api);
|
|
180574
180638
|
const downloadFiles = useStore((state) => state.capabilities.downloadFiles);
|
|
180575
180639
|
const tools2 = [];
|
|
@@ -180632,7 +180696,7 @@ const SampleDisplay = ({
|
|
|
180632
180696
|
);
|
|
180633
180697
|
}
|
|
180634
180698
|
if (selectedTab === kSampleTranscriptTabId) {
|
|
180635
|
-
const label2 = isDebugFilter ? "Debug" : isDefaultFilter ? "Default" : "Custom";
|
|
180699
|
+
const label2 = isNoneFilter ? "None" : isDebugFilter ? "Debug" : isDefaultFilter ? "Default" : "Custom";
|
|
180636
180700
|
tools2.push(
|
|
180637
180701
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
180638
180702
|
ToolButton,
|
|
@@ -181691,9 +181755,10 @@ const PlanCard = ({
|
|
|
181691
181755
|
evalSpec,
|
|
181692
181756
|
evalPlan,
|
|
181693
181757
|
scores: scores2,
|
|
181758
|
+
metadata: metadataProp,
|
|
181694
181759
|
scrollRef
|
|
181695
181760
|
}) => {
|
|
181696
|
-
const metadata2 =
|
|
181761
|
+
const metadata2 = metadataProp || {};
|
|
181697
181762
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
|
|
181698
181763
|
/* @__PURE__ */ jsxRuntimeExports.jsxs(Card, { children: [
|
|
181699
181764
|
/* @__PURE__ */ jsxRuntimeExports.jsx(CardHeader, { label: "Summary" }),
|
|
@@ -181719,7 +181784,7 @@ const PlanCard = ({
|
|
|
181719
181784
|
] })
|
|
181720
181785
|
] });
|
|
181721
181786
|
};
|
|
181722
|
-
const useInfoTabConfig = (evalSpec, evalPlan, evalError, evalResults, evalStatus) => {
|
|
181787
|
+
const useInfoTabConfig = (evalSpec, evalPlan, evalError, evalResults, evalStatus, metadata2) => {
|
|
181723
181788
|
const scrollRef = useRef(null);
|
|
181724
181789
|
const totalSampleCount = useTotalSampleCount();
|
|
181725
181790
|
return useMemo(() => {
|
|
@@ -181734,6 +181799,7 @@ const useInfoTabConfig = (evalSpec, evalPlan, evalError, evalResults, evalStatus
|
|
|
181734
181799
|
evalError,
|
|
181735
181800
|
evalResults,
|
|
181736
181801
|
evalStatus,
|
|
181802
|
+
metadata: metadata2,
|
|
181737
181803
|
sampleCount: totalSampleCount,
|
|
181738
181804
|
scrollRef
|
|
181739
181805
|
},
|
|
@@ -181745,6 +181811,7 @@ const useInfoTabConfig = (evalSpec, evalPlan, evalError, evalResults, evalStatus
|
|
|
181745
181811
|
evalError,
|
|
181746
181812
|
evalResults,
|
|
181747
181813
|
evalStatus,
|
|
181814
|
+
metadata2,
|
|
181748
181815
|
totalSampleCount
|
|
181749
181816
|
]);
|
|
181750
181817
|
};
|
|
@@ -181753,6 +181820,7 @@ const InfoTab = ({
|
|
|
181753
181820
|
evalPlan,
|
|
181754
181821
|
evalResults,
|
|
181755
181822
|
evalStatus,
|
|
181823
|
+
metadata: metadata2,
|
|
181756
181824
|
sampleCount,
|
|
181757
181825
|
scrollRef
|
|
181758
181826
|
}) => {
|
|
@@ -181772,6 +181840,7 @@ const InfoTab = ({
|
|
|
181772
181840
|
evalSpec,
|
|
181773
181841
|
evalPlan,
|
|
181774
181842
|
scores: evalResults?.scores,
|
|
181843
|
+
metadata: metadata2,
|
|
181775
181844
|
scrollRef
|
|
181776
181845
|
}
|
|
181777
181846
|
) })
|
|
@@ -181816,19 +181885,11 @@ const styles$n = {
|
|
|
181816
181885
|
jsonTab
|
|
181817
181886
|
};
|
|
181818
181887
|
const kJsonMaxSize = 1e7;
|
|
181819
|
-
const useJsonTabConfig = (
|
|
181888
|
+
const useJsonTabConfig = (logDetails) => {
|
|
181820
181889
|
const selectedLogFile = useStore((state) => state.logs.selectedLogFile);
|
|
181821
181890
|
const selectedTab = useStore((state) => state.app.tabs.workspace);
|
|
181822
181891
|
return useMemo(() => {
|
|
181823
|
-
const
|
|
181824
|
-
version: evalVersion,
|
|
181825
|
-
status: evalStatus,
|
|
181826
|
-
eval: evalSpec,
|
|
181827
|
-
plan: evalPlan,
|
|
181828
|
-
error: evalError,
|
|
181829
|
-
results: evalResults,
|
|
181830
|
-
stats: evalStats
|
|
181831
|
-
};
|
|
181892
|
+
const { sampleSummaries: _, ...header2 } = logDetails ?? {};
|
|
181832
181893
|
return {
|
|
181833
181894
|
id: kLogViewJsonTabId,
|
|
181834
181895
|
label: "JSON",
|
|
@@ -181836,7 +181897,7 @@ const useJsonTabConfig = (evalVersion, evalStatus, evalSpec, evalPlan, evalError
|
|
|
181836
181897
|
component: JsonTab,
|
|
181837
181898
|
componentProps: {
|
|
181838
181899
|
logFile: selectedLogFile,
|
|
181839
|
-
json: JSON.stringify(
|
|
181900
|
+
json: JSON.stringify(header2, null, 2),
|
|
181840
181901
|
selected: selectedTab === kLogViewJsonTabId
|
|
181841
181902
|
},
|
|
181842
181903
|
tools: () => [
|
|
@@ -181853,17 +181914,7 @@ const useJsonTabConfig = (evalVersion, evalStatus, evalSpec, evalPlan, evalError
|
|
|
181853
181914
|
)
|
|
181854
181915
|
]
|
|
181855
181916
|
};
|
|
181856
|
-
}, [
|
|
181857
|
-
selectedLogFile,
|
|
181858
|
-
evalVersion,
|
|
181859
|
-
evalStatus,
|
|
181860
|
-
evalSpec,
|
|
181861
|
-
evalPlan,
|
|
181862
|
-
evalError,
|
|
181863
|
-
evalResults,
|
|
181864
|
-
evalStats,
|
|
181865
|
-
selectedTab
|
|
181866
|
-
]);
|
|
181917
|
+
}, [selectedLogFile, logDetails, selectedTab]);
|
|
181867
181918
|
};
|
|
181868
181919
|
const copyFeedback = (e) => {
|
|
181869
181920
|
const textEl = e.currentTarget.querySelector(".task-btn-copy-content");
|
|
@@ -203209,13 +203260,13 @@ const SampleStatusIcon = ({ status: status2 }) => {
|
|
|
203209
203260
|
const colorClass = status2 === "error" ? styles$i.error : status2 === "cancelled" ? styles$i.cancelled : styles$i.success;
|
|
203210
203261
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i.statusCell, children: /* @__PURE__ */ jsxRuntimeExports.jsx("i", { className: clsx(icon2, colorClass) }) });
|
|
203211
203262
|
};
|
|
203212
|
-
const mainLayout = "
|
|
203213
|
-
const samplesListGrid = "
|
|
203214
|
-
const cell = "
|
|
203215
|
-
const wrapAnywhere = "
|
|
203216
|
-
const noLeft = "
|
|
203217
|
-
const score = "
|
|
203218
|
-
const centered = "
|
|
203263
|
+
const mainLayout = "_mainLayout_1pg7l_1";
|
|
203264
|
+
const samplesListGrid = "_samplesListGrid_1pg7l_7";
|
|
203265
|
+
const cell = "_cell_1pg7l_43";
|
|
203266
|
+
const wrapAnywhere = "_wrapAnywhere_1pg7l_47";
|
|
203267
|
+
const noLeft = "_noLeft_1pg7l_51";
|
|
203268
|
+
const score = "_score_1pg7l_55";
|
|
203269
|
+
const centered = "_centered_1pg7l_62";
|
|
203219
203270
|
const styles$h = {
|
|
203220
203271
|
mainLayout,
|
|
203221
203272
|
samplesListGrid,
|
|
@@ -203857,7 +203908,7 @@ const grid$1 = "_grid_er9fb_1";
|
|
|
203857
203908
|
const styles$e = {
|
|
203858
203909
|
grid: grid$1
|
|
203859
203910
|
};
|
|
203860
|
-
const useTaskTabConfig = (evalSpec, evalStats, earlyStopping) => {
|
|
203911
|
+
const useTaskTabConfig = (evalSpec, evalStats, earlyStopping, tags2) => {
|
|
203861
203912
|
return useMemo(() => {
|
|
203862
203913
|
return {
|
|
203863
203914
|
id: kLogViewTaskTabId,
|
|
@@ -203867,15 +203918,17 @@ const useTaskTabConfig = (evalSpec, evalStats, earlyStopping) => {
|
|
|
203867
203918
|
componentProps: {
|
|
203868
203919
|
evalSpec,
|
|
203869
203920
|
evalStats,
|
|
203870
|
-
earlyStopping
|
|
203921
|
+
earlyStopping,
|
|
203922
|
+
tags: tags2
|
|
203871
203923
|
}
|
|
203872
203924
|
};
|
|
203873
|
-
}, [evalSpec, evalStats, earlyStopping]);
|
|
203925
|
+
}, [evalSpec, evalStats, earlyStopping, tags2]);
|
|
203874
203926
|
};
|
|
203875
203927
|
const TaskTab = ({
|
|
203876
203928
|
evalSpec,
|
|
203877
203929
|
evalStats,
|
|
203878
|
-
earlyStopping
|
|
203930
|
+
earlyStopping,
|
|
203931
|
+
tags: tags2
|
|
203879
203932
|
}) => {
|
|
203880
203933
|
Object.entries(evalSpec?.config || {}).forEach((entry) => {
|
|
203881
203934
|
entry[0];
|
|
@@ -203902,8 +203955,8 @@ const TaskTab = ({
|
|
|
203902
203955
|
taskInformation["Inspect"] = names;
|
|
203903
203956
|
}
|
|
203904
203957
|
}
|
|
203905
|
-
if (
|
|
203906
|
-
taskInformation["tags"] =
|
|
203958
|
+
if (tags2 && tags2.length > 0) {
|
|
203959
|
+
taskInformation["tags"] = tags2.join(", ");
|
|
203907
203960
|
}
|
|
203908
203961
|
if (evalSpec?.sandbox) {
|
|
203909
203962
|
if (Array.isArray(evalSpec?.sandbox)) {
|
|
@@ -205109,28 +205162,22 @@ const LogView = () => {
|
|
|
205109
205162
|
selectedLogDetails?.plan,
|
|
205110
205163
|
selectedLogDetails?.error,
|
|
205111
205164
|
selectedLogDetails?.results,
|
|
205112
|
-
selectedLogDetails?.status
|
|
205165
|
+
selectedLogDetails?.status,
|
|
205166
|
+
selectedLogDetails?.metadata
|
|
205113
205167
|
);
|
|
205114
205168
|
const errorTabConfig = useErrorTabConfig(selectedLogDetails?.error);
|
|
205115
205169
|
const taskTabConfig = useTaskTabConfig(
|
|
205116
205170
|
evalSpec,
|
|
205117
205171
|
selectedLogDetails?.stats,
|
|
205118
|
-
selectedLogDetails?.results?.early_stopping
|
|
205172
|
+
selectedLogDetails?.results?.early_stopping,
|
|
205173
|
+
selectedLogDetails?.tags
|
|
205119
205174
|
);
|
|
205120
205175
|
const modelsTabConfig = useModelsTab(
|
|
205121
205176
|
evalSpec,
|
|
205122
205177
|
selectedLogDetails?.stats,
|
|
205123
205178
|
selectedLogDetails?.status
|
|
205124
205179
|
);
|
|
205125
|
-
const jsonTabConfig = useJsonTabConfig(
|
|
205126
|
-
selectedLogDetails?.version,
|
|
205127
|
-
selectedLogDetails?.status,
|
|
205128
|
-
evalSpec,
|
|
205129
|
-
selectedLogDetails?.plan,
|
|
205130
|
-
selectedLogDetails?.error,
|
|
205131
|
-
selectedLogDetails?.results,
|
|
205132
|
-
selectedLogDetails?.stats
|
|
205133
|
-
);
|
|
205180
|
+
const jsonTabConfig = useJsonTabConfig(selectedLogDetails);
|
|
205134
205181
|
const tabs2 = {
|
|
205135
205182
|
...samplesTabConfig ? { samples: samplesTabConfig } : {},
|
|
205136
205183
|
task: taskTabConfig,
|