@sanity/ailf-studio 1.2.1 → 1.2.2
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.ts +2 -0
- package/dist/index.js +337 -514
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1321,6 +1321,12 @@ var reportSchema = defineType4({
|
|
|
1321
1321
|
title: "Model ID",
|
|
1322
1322
|
type: "string"
|
|
1323
1323
|
}),
|
|
1324
|
+
defineField4({
|
|
1325
|
+
description: "True when the model failed to produce output (empty response, API error, or refusal) rather than producing incorrect output.",
|
|
1326
|
+
name: "outputFailure",
|
|
1327
|
+
title: "Output Failure",
|
|
1328
|
+
type: "boolean"
|
|
1329
|
+
}),
|
|
1324
1330
|
defineField4({
|
|
1325
1331
|
description: "Documentation pages the task expected the model to use.",
|
|
1326
1332
|
name: "canonicalDocs",
|
|
@@ -5696,14 +5702,14 @@ function LatestReports({
|
|
|
5696
5702
|
import { ArrowLeftIcon as ArrowLeftIcon3 } from "@sanity/icons";
|
|
5697
5703
|
import {
|
|
5698
5704
|
Badge as Badge7,
|
|
5699
|
-
Box as
|
|
5705
|
+
Box as Box21,
|
|
5700
5706
|
Button as Button8,
|
|
5701
|
-
Flex as
|
|
5702
|
-
Stack as
|
|
5707
|
+
Flex as Flex25,
|
|
5708
|
+
Stack as Stack27,
|
|
5703
5709
|
Tab,
|
|
5704
5710
|
TabList,
|
|
5705
5711
|
TabPanel,
|
|
5706
|
-
Text as
|
|
5712
|
+
Text as Text33,
|
|
5707
5713
|
Tooltip as Tooltip8
|
|
5708
5714
|
} from "@sanity/ui";
|
|
5709
5715
|
import {
|
|
@@ -6185,15 +6191,7 @@ function DiagnosticsOverview({
|
|
|
6185
6191
|
value: Math.round(overall.avgDocLift)
|
|
6186
6192
|
}
|
|
6187
6193
|
) }),
|
|
6188
|
-
|
|
6189
|
-
ScoreCard,
|
|
6190
|
-
{
|
|
6191
|
-
label: "FLOOR",
|
|
6192
|
-
sentiment: scoreSentiment(overall.avgFloorScore ?? 0),
|
|
6193
|
-
subtitle: "Without docs baseline",
|
|
6194
|
-
value: Math.round(overall.avgFloorScore ?? 0)
|
|
6195
|
-
}
|
|
6196
|
-
) }) : /* @__PURE__ */ jsx25(HoverTip, { display: "block", text: GLOSSARY.tests, children: /* @__PURE__ */ jsx25(
|
|
6194
|
+
/* @__PURE__ */ jsx25(HoverTip, { display: "block", text: GLOSSARY.tests, children: /* @__PURE__ */ jsx25(
|
|
6197
6195
|
ScoreCard,
|
|
6198
6196
|
{
|
|
6199
6197
|
label: "TESTS",
|
|
@@ -6210,7 +6208,7 @@ function DiagnosticsOverview({
|
|
|
6210
6208
|
style: {
|
|
6211
6209
|
display: "grid",
|
|
6212
6210
|
gap: 12,
|
|
6213
|
-
gridTemplateColumns: showDocMetrics ? "repeat(
|
|
6211
|
+
gridTemplateColumns: showDocMetrics ? "repeat(2, 1fr)" : "1fr"
|
|
6214
6212
|
},
|
|
6215
6213
|
children: [
|
|
6216
6214
|
showDocMetrics && /* @__PURE__ */ jsx25(HoverTip, { display: "block", text: GLOSSARY.negativeDocLiftMetric, children: /* @__PURE__ */ jsx25(
|
|
@@ -6221,7 +6219,6 @@ function DiagnosticsOverview({
|
|
|
6221
6219
|
value: `${negativeDocLiftCount} area${negativeDocLiftCount === 1 ? "" : "s"}`
|
|
6222
6220
|
}
|
|
6223
6221
|
) }),
|
|
6224
|
-
showDocMetrics && /* @__PURE__ */ jsx25(HoverTip, { display: "block", text: GLOSSARY.tests, children: /* @__PURE__ */ jsx25(MetricCard, { label: "Tests", value: String(totalTests ?? 0) }) }),
|
|
6225
6222
|
durationMs != null && durationMs > 0 ? /* @__PURE__ */ jsx25(
|
|
6226
6223
|
HoverTip,
|
|
6227
6224
|
{
|
|
@@ -6751,6 +6748,13 @@ function judgmentSlug(j) {
|
|
|
6751
6748
|
const slugify4 = (s) => s.toLowerCase().replace(/[()]/g, "").replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "");
|
|
6752
6749
|
return `${slugify4(area)}--${slugify4(task)}--${slugify4(j.dimension)}--${slugify4(j.modelId)}`;
|
|
6753
6750
|
}
|
|
6751
|
+
function isOutputFailure(j) {
|
|
6752
|
+
if (j.outputFailure) return true;
|
|
6753
|
+
return j.score === 0 && j.taskId.includes("(baseline)");
|
|
6754
|
+
}
|
|
6755
|
+
function pruneNoise(judgments) {
|
|
6756
|
+
return judgments.filter((j) => !isOutputFailure(j));
|
|
6757
|
+
}
|
|
6754
6758
|
function groupByArea(judgments) {
|
|
6755
6759
|
const byArea = /* @__PURE__ */ new Map();
|
|
6756
6760
|
for (const j of judgments) {
|
|
@@ -6759,7 +6763,7 @@ function groupByArea(judgments) {
|
|
|
6759
6763
|
if (!byArea.has(area)) byArea.set(area, []);
|
|
6760
6764
|
byArea.get(area).push(j);
|
|
6761
6765
|
}
|
|
6762
|
-
return [...byArea.entries()].sort(([a], [b]) => a.localeCompare(b)).map(([area, js]) => [area, js.sort((a, b) =>
|
|
6766
|
+
return [...byArea.entries()].sort(([a], [b]) => a.localeCompare(b)).map(([area, js]) => [area, js.sort((a, b) => b.score - a.score)]);
|
|
6763
6767
|
}
|
|
6764
6768
|
function dimensionLabel2(dim) {
|
|
6765
6769
|
return dim.split("-").map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(" ");
|
|
@@ -6770,7 +6774,10 @@ function JudgmentList({
|
|
|
6770
6774
|
onFocusChange
|
|
6771
6775
|
}) {
|
|
6772
6776
|
if (judgments.length === 0) return null;
|
|
6773
|
-
const
|
|
6777
|
+
const pruned = pruneNoise(judgments);
|
|
6778
|
+
if (pruned.length === 0) return null;
|
|
6779
|
+
const outputFailureCount = judgments.length - pruned.length;
|
|
6780
|
+
const grouped = groupByArea(pruned);
|
|
6774
6781
|
return /* @__PURE__ */ jsxs23(Stack20, { space: 3, children: [
|
|
6775
6782
|
/* @__PURE__ */ jsxs23(Flex16, { align: "center", gap: 2, children: [
|
|
6776
6783
|
/* @__PURE__ */ jsx28(ErrorOutlineIcon2, { style: { color: "#f87171" } }),
|
|
@@ -6797,10 +6804,42 @@ function JudgmentList({
|
|
|
6797
6804
|
padding: "2px 10px"
|
|
6798
6805
|
},
|
|
6799
6806
|
children: [
|
|
6800
|
-
|
|
6807
|
+
pruned.length,
|
|
6801
6808
|
" below 70"
|
|
6802
6809
|
]
|
|
6803
6810
|
}
|
|
6811
|
+
),
|
|
6812
|
+
outputFailureCount > 0 && /* @__PURE__ */ jsx28(
|
|
6813
|
+
Tooltip7,
|
|
6814
|
+
{
|
|
6815
|
+
content: /* @__PURE__ */ jsx28(Box16, { padding: 2, style: { maxWidth: 280 }, children: /* @__PURE__ */ jsxs23(Text25, { size: 2, children: [
|
|
6816
|
+
outputFailureCount,
|
|
6817
|
+
" judgment",
|
|
6818
|
+
outputFailureCount === 1 ? "" : "s",
|
|
6819
|
+
" hidden where the model failed to produce output (empty response, API error, or token exhaustion). These are infrastructure issues, not content quality problems."
|
|
6820
|
+
] }) }),
|
|
6821
|
+
placement: "bottom",
|
|
6822
|
+
portal: true,
|
|
6823
|
+
children: /* @__PURE__ */ jsxs23(
|
|
6824
|
+
"span",
|
|
6825
|
+
{
|
|
6826
|
+
style: {
|
|
6827
|
+
backgroundColor: "var(--card-muted-bg-color, rgba(255,255,255,0.06))",
|
|
6828
|
+
borderRadius: 999,
|
|
6829
|
+
color: "var(--card-muted-fg-color)",
|
|
6830
|
+
fontSize: 13,
|
|
6831
|
+
fontWeight: 500,
|
|
6832
|
+
padding: "2px 10px"
|
|
6833
|
+
},
|
|
6834
|
+
children: [
|
|
6835
|
+
outputFailureCount,
|
|
6836
|
+
" output failure",
|
|
6837
|
+
outputFailureCount === 1 ? "" : "s",
|
|
6838
|
+
" hidden"
|
|
6839
|
+
]
|
|
6840
|
+
}
|
|
6841
|
+
)
|
|
6842
|
+
}
|
|
6804
6843
|
)
|
|
6805
6844
|
] }),
|
|
6806
6845
|
/* @__PURE__ */ jsx28(Box16, { style: neutralCardStyle, children: grouped.map(([area, areaJudgments], groupIndex) => /* @__PURE__ */ jsx28(
|
|
@@ -7151,213 +7190,15 @@ function PromptfooUnavailable({ reason }) {
|
|
|
7151
7190
|
] });
|
|
7152
7191
|
}
|
|
7153
7192
|
|
|
7154
|
-
// src/components/report-detail/RecommendationsSection.tsx
|
|
7155
|
-
import { BoltIcon } from "@sanity/icons";
|
|
7156
|
-
import { Box as Box17, Flex as Flex18, Stack as Stack22, Text as Text27 } from "@sanity/ui";
|
|
7157
|
-
import { jsx as jsx30, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
7158
|
-
function tableTier(width) {
|
|
7159
|
-
if (width >= 800) return "full";
|
|
7160
|
-
if (width >= 600) return "compact";
|
|
7161
|
-
return "narrow";
|
|
7162
|
-
}
|
|
7163
|
-
var GRID2 = {
|
|
7164
|
-
full: "1fr 1fr 2fr 72px 90px",
|
|
7165
|
-
compact: "1fr 1fr 2fr 90px",
|
|
7166
|
-
narrow: "1fr 1fr"
|
|
7167
|
-
};
|
|
7168
|
-
function RecommendationsSection({
|
|
7169
|
-
recommendations
|
|
7170
|
-
}) {
|
|
7171
|
-
const { ref, width } = useContainerWidth();
|
|
7172
|
-
const tier = tableTier(width);
|
|
7173
|
-
if (recommendations.gaps.length === 0) return null;
|
|
7174
|
-
return /* @__PURE__ */ jsxs25(Stack22, { space: 3, children: [
|
|
7175
|
-
/* @__PURE__ */ jsxs25(Flex18, { align: "center", gap: 2, children: [
|
|
7176
|
-
/* @__PURE__ */ jsx30(BoltIcon, { style: { color: "#fbbf24" } }),
|
|
7177
|
-
/* @__PURE__ */ jsx30(Text27, { size: 2, weight: "medium", children: "Recommendations" }),
|
|
7178
|
-
/* @__PURE__ */ jsx30(InfoTip, { text: GLOSSARY.recommendations }),
|
|
7179
|
-
/* @__PURE__ */ jsxs25(
|
|
7180
|
-
"span",
|
|
7181
|
-
{
|
|
7182
|
-
style: {
|
|
7183
|
-
backgroundColor: "rgba(16,185,129,0.2)",
|
|
7184
|
-
borderRadius: 999,
|
|
7185
|
-
color: "#34d399",
|
|
7186
|
-
fontSize: 13,
|
|
7187
|
-
fontWeight: 500,
|
|
7188
|
-
marginLeft: 4,
|
|
7189
|
-
padding: "2px 10px"
|
|
7190
|
-
},
|
|
7191
|
-
children: [
|
|
7192
|
-
"+",
|
|
7193
|
-
recommendations.totalPotentialLift.toFixed(1),
|
|
7194
|
-
" pts lift"
|
|
7195
|
-
]
|
|
7196
|
-
}
|
|
7197
|
-
)
|
|
7198
|
-
] }),
|
|
7199
|
-
/* @__PURE__ */ jsxs25(Box17, { ref, style: { ...neutralCardStyle, overflow: "auto" }, children: [
|
|
7200
|
-
/* @__PURE__ */ jsxs25(
|
|
7201
|
-
"div",
|
|
7202
|
-
{
|
|
7203
|
-
style: {
|
|
7204
|
-
borderBottom: "1px solid var(--card-border-color)",
|
|
7205
|
-
display: "grid",
|
|
7206
|
-
gap: "0 12px",
|
|
7207
|
-
gridTemplateColumns: GRID2[tier],
|
|
7208
|
-
padding: "12px 16px 8px"
|
|
7209
|
-
},
|
|
7210
|
-
children: [
|
|
7211
|
-
/* @__PURE__ */ jsx30(ColHeader2, { label: "Area" }),
|
|
7212
|
-
/* @__PURE__ */ jsx30(ColHeader2, { label: "Failure Mode", tooltip: GLOSSARY.failureMode }),
|
|
7213
|
-
tier !== "narrow" && /* @__PURE__ */ jsx30(ColHeader2, { label: "Action" }),
|
|
7214
|
-
tier === "full" && /* @__PURE__ */ jsx30(ColHeader2, { label: "Lift", tooltip: GLOSSARY.estimatedLift }),
|
|
7215
|
-
tier !== "narrow" && /* @__PURE__ */ jsx30(ColHeader2, { label: "Confidence", tooltip: GLOSSARY.confidence })
|
|
7216
|
-
]
|
|
7217
|
-
}
|
|
7218
|
-
),
|
|
7219
|
-
recommendations.gaps.map((gap, i) => /* @__PURE__ */ jsx30(RecommendationRow, { gap, index: i, tier }, `gap-${i}`))
|
|
7220
|
-
] })
|
|
7221
|
-
] });
|
|
7222
|
-
}
|
|
7223
|
-
function ColHeader2({ label, tooltip }) {
|
|
7224
|
-
return /* @__PURE__ */ jsxs25(Flex18, { align: "center", gap: 1, children: [
|
|
7225
|
-
/* @__PURE__ */ jsx30(
|
|
7226
|
-
Text27,
|
|
7227
|
-
{
|
|
7228
|
-
muted: true,
|
|
7229
|
-
size: 1,
|
|
7230
|
-
style: {
|
|
7231
|
-
letterSpacing: "0.06em",
|
|
7232
|
-
textTransform: "uppercase"
|
|
7233
|
-
},
|
|
7234
|
-
weight: "semibold",
|
|
7235
|
-
children: label
|
|
7236
|
-
}
|
|
7237
|
-
),
|
|
7238
|
-
tooltip && /* @__PURE__ */ jsx30(InfoTip, { text: tooltip })
|
|
7239
|
-
] });
|
|
7240
|
-
}
|
|
7241
|
-
var FAILURE_MODE_COLORS = {
|
|
7242
|
-
"missing-docs": { bg: "rgba(239,68,68,0.2)", text: "#f87171" },
|
|
7243
|
-
"incorrect-docs": { bg: "rgba(239,68,68,0.2)", text: "#f87171" },
|
|
7244
|
-
"outdated-docs": { bg: "rgba(245,158,11,0.2)", text: "#fbbf24" },
|
|
7245
|
-
"poor-structure": { bg: "rgba(245,158,11,0.2)", text: "#fbbf24" }
|
|
7246
|
-
};
|
|
7247
|
-
var fmLabel = {
|
|
7248
|
-
fontWeight: 600
|
|
7249
|
-
};
|
|
7250
|
-
var FAILURE_MODE_DESCS = {
|
|
7251
|
-
"missing-docs": "This feature has no documentation at all. AI agents have nothing to reference when implementing it.",
|
|
7252
|
-
"incorrect-docs": "The documentation contains factual errors \u2014 wrong API signatures, incorrect parameters, or misleading examples.",
|
|
7253
|
-
"outdated-docs": "The docs describe old APIs or deprecated patterns. AI agents follow them and produce code that doesn't work with current versions.",
|
|
7254
|
-
"poor-structure": "The docs exist but are hard to find or understand. AI agents struggle to locate the right information or misinterpret it."
|
|
7255
|
-
};
|
|
7256
|
-
function failureModeTip(mode) {
|
|
7257
|
-
const desc = FAILURE_MODE_DESCS[mode];
|
|
7258
|
-
if (!desc) return GLOSSARY.failureMode;
|
|
7259
|
-
return /* @__PURE__ */ jsxs25(Text27, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
7260
|
-
/* @__PURE__ */ jsx30("span", { style: fmLabel, children: mode }),
|
|
7261
|
-
" \u2014 ",
|
|
7262
|
-
desc
|
|
7263
|
-
] });
|
|
7264
|
-
}
|
|
7265
|
-
var CONFIDENCE_DESCS = {
|
|
7266
|
-
high: "Strong keyword and structural signal agreement \u2014 this diagnosis is reliable.",
|
|
7267
|
-
medium: "Partial signal agreement \u2014 likely correct but worth verifying manually.",
|
|
7268
|
-
low: "Weak signals only \u2014 treat as a hypothesis to investigate, not a confirmed diagnosis."
|
|
7269
|
-
};
|
|
7270
|
-
function confidenceTip(level) {
|
|
7271
|
-
const desc = CONFIDENCE_DESCS[level];
|
|
7272
|
-
if (!desc) return GLOSSARY.confidence;
|
|
7273
|
-
const icons = { high: "\u{1F7E2}", medium: "\u{1F7E1}", low: "\u{1F534}" };
|
|
7274
|
-
return /* @__PURE__ */ jsxs25(Text27, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
7275
|
-
icons[level],
|
|
7276
|
-
" ",
|
|
7277
|
-
/* @__PURE__ */ jsxs25("span", { style: fmLabel, children: [
|
|
7278
|
-
level,
|
|
7279
|
-
" confidence"
|
|
7280
|
-
] }),
|
|
7281
|
-
" \u2014 ",
|
|
7282
|
-
desc
|
|
7283
|
-
] });
|
|
7284
|
-
}
|
|
7285
|
-
function RecommendationRow({
|
|
7286
|
-
gap,
|
|
7287
|
-
index,
|
|
7288
|
-
tier
|
|
7289
|
-
}) {
|
|
7290
|
-
const confIcon = gap.confidence === "high" ? "\u{1F7E2}" : gap.confidence === "medium" ? "\u{1F7E1}" : "\u{1F534}";
|
|
7291
|
-
const fmColors = FAILURE_MODE_COLORS[gap.failureMode] ?? {
|
|
7292
|
-
bg: "var(--card-muted-bg-color)",
|
|
7293
|
-
text: "var(--card-muted-fg-color)"
|
|
7294
|
-
};
|
|
7295
|
-
return /* @__PURE__ */ jsxs25(
|
|
7296
|
-
"div",
|
|
7297
|
-
{
|
|
7298
|
-
style: {
|
|
7299
|
-
alignItems: "center",
|
|
7300
|
-
display: "grid",
|
|
7301
|
-
gap: "0 12px",
|
|
7302
|
-
gridTemplateColumns: GRID2[tier],
|
|
7303
|
-
padding: "10px 16px",
|
|
7304
|
-
...index > 0 ? dividerStyle : {}
|
|
7305
|
-
},
|
|
7306
|
-
children: [
|
|
7307
|
-
/* @__PURE__ */ jsx30(Text27, { size: 2, weight: "medium", children: gap.area }),
|
|
7308
|
-
/* @__PURE__ */ jsx30(HoverTip, { text: failureModeTip(gap.failureMode), children: /* @__PURE__ */ jsx30(
|
|
7309
|
-
"span",
|
|
7310
|
-
{
|
|
7311
|
-
style: {
|
|
7312
|
-
backgroundColor: fmColors.bg,
|
|
7313
|
-
borderRadius: 4,
|
|
7314
|
-
color: fmColors.text,
|
|
7315
|
-
fontSize: 13,
|
|
7316
|
-
fontWeight: 500,
|
|
7317
|
-
padding: "3px 8px"
|
|
7318
|
-
},
|
|
7319
|
-
children: gap.failureMode
|
|
7320
|
-
}
|
|
7321
|
-
) }),
|
|
7322
|
-
tier !== "narrow" && /* @__PURE__ */ jsx30(Text27, { muted: true, size: 2, children: gap.remediation }),
|
|
7323
|
-
tier === "full" && /* @__PURE__ */ jsxs25(
|
|
7324
|
-
"span",
|
|
7325
|
-
{
|
|
7326
|
-
style: {
|
|
7327
|
-
backgroundColor: "rgba(16,185,129,0.2)",
|
|
7328
|
-
borderRadius: 4,
|
|
7329
|
-
color: "#34d399",
|
|
7330
|
-
fontFamily: "var(--font-code-size, monospace)",
|
|
7331
|
-
fontSize: 14,
|
|
7332
|
-
fontWeight: 600,
|
|
7333
|
-
padding: "3px 8px",
|
|
7334
|
-
textAlign: "right"
|
|
7335
|
-
},
|
|
7336
|
-
children: [
|
|
7337
|
-
"+",
|
|
7338
|
-
gap.estimatedLift.toFixed(1)
|
|
7339
|
-
]
|
|
7340
|
-
}
|
|
7341
|
-
),
|
|
7342
|
-
tier !== "narrow" && /* @__PURE__ */ jsx30(HoverTip, { text: confidenceTip(gap.confidence), children: /* @__PURE__ */ jsxs25(Text27, { size: 2, children: [
|
|
7343
|
-
confIcon,
|
|
7344
|
-
" ",
|
|
7345
|
-
gap.confidence
|
|
7346
|
-
] }) })
|
|
7347
|
-
]
|
|
7348
|
-
}
|
|
7349
|
-
);
|
|
7350
|
-
}
|
|
7351
|
-
|
|
7352
7193
|
// src/components/report-detail/report-actions/ActionButton.tsx
|
|
7353
7194
|
import { Button as Button4, useToast as useToast3 } from "@sanity/ui";
|
|
7354
|
-
import { jsx as
|
|
7195
|
+
import { jsx as jsx30 } from "react/jsx-runtime";
|
|
7355
7196
|
|
|
7356
7197
|
// src/components/report-detail/report-actions/ReportActions.tsx
|
|
7357
7198
|
import { ChevronDownIcon, CopyIcon as CopyIcon3 } from "@sanity/icons";
|
|
7358
7199
|
import {
|
|
7359
7200
|
Button as Button6,
|
|
7360
|
-
Flex as
|
|
7201
|
+
Flex as Flex19,
|
|
7361
7202
|
Menu,
|
|
7362
7203
|
MenuButton,
|
|
7363
7204
|
MenuDivider,
|
|
@@ -7371,7 +7212,7 @@ import { ClipboardIcon } from "@sanity/icons";
|
|
|
7371
7212
|
import { MenuItem, useToast as useToast4 } from "@sanity/ui";
|
|
7372
7213
|
import { useCallback as useCallback16, useState as useState13 } from "react";
|
|
7373
7214
|
import { useClient as useClient6 } from "sanity";
|
|
7374
|
-
import { jsx as
|
|
7215
|
+
import { jsx as jsx31 } from "react/jsx-runtime";
|
|
7375
7216
|
function CopyReportAction({ documentId }) {
|
|
7376
7217
|
const client = useClient6({ apiVersion: API_VERSION });
|
|
7377
7218
|
const toast = useToast4();
|
|
@@ -7408,7 +7249,7 @@ function CopyReportAction({ documentId }) {
|
|
|
7408
7249
|
setCopying(false);
|
|
7409
7250
|
}
|
|
7410
7251
|
}, [client, documentId, toast]);
|
|
7411
|
-
return /* @__PURE__ */
|
|
7252
|
+
return /* @__PURE__ */ jsx31(
|
|
7412
7253
|
MenuItem,
|
|
7413
7254
|
{
|
|
7414
7255
|
disabled: copying,
|
|
@@ -7423,7 +7264,7 @@ function CopyReportAction({ documentId }) {
|
|
|
7423
7264
|
import { CopyIcon as CopyIcon2 } from "@sanity/icons";
|
|
7424
7265
|
import { MenuItem as MenuItem2, useToast as useToast5 } from "@sanity/ui";
|
|
7425
7266
|
import { useCallback as useCallback17 } from "react";
|
|
7426
|
-
import { jsx as
|
|
7267
|
+
import { jsx as jsx32 } from "react/jsx-runtime";
|
|
7427
7268
|
function CopyReportIdAction({ reportId }) {
|
|
7428
7269
|
const toast = useToast5();
|
|
7429
7270
|
const handleClick = useCallback17(() => {
|
|
@@ -7444,14 +7285,14 @@ function CopyReportIdAction({ reportId }) {
|
|
|
7444
7285
|
}
|
|
7445
7286
|
);
|
|
7446
7287
|
}, [reportId, toast]);
|
|
7447
|
-
return /* @__PURE__ */
|
|
7288
|
+
return /* @__PURE__ */ jsx32(MenuItem2, { icon: CopyIcon2, onClick: handleClick, text: "Copy report ID" });
|
|
7448
7289
|
}
|
|
7449
7290
|
|
|
7450
7291
|
// src/components/report-detail/report-actions/CopyVisionQueryAction.tsx
|
|
7451
7292
|
import { SearchIcon as SearchIcon5 } from "@sanity/icons";
|
|
7452
7293
|
import { MenuItem as MenuItem3, useToast as useToast6 } from "@sanity/ui";
|
|
7453
7294
|
import { useCallback as useCallback18 } from "react";
|
|
7454
|
-
import { jsx as
|
|
7295
|
+
import { jsx as jsx33 } from "react/jsx-runtime";
|
|
7455
7296
|
function CopyVisionQueryAction({
|
|
7456
7297
|
reportId
|
|
7457
7298
|
}) {
|
|
@@ -7476,7 +7317,7 @@ function CopyVisionQueryAction({
|
|
|
7476
7317
|
}
|
|
7477
7318
|
);
|
|
7478
7319
|
}, [reportId, toast]);
|
|
7479
|
-
return /* @__PURE__ */
|
|
7320
|
+
return /* @__PURE__ */ jsx33(
|
|
7480
7321
|
MenuItem3,
|
|
7481
7322
|
{
|
|
7482
7323
|
icon: SearchIcon5,
|
|
@@ -7487,25 +7328,25 @@ function CopyVisionQueryAction({
|
|
|
7487
7328
|
}
|
|
7488
7329
|
|
|
7489
7330
|
// src/components/report-detail/report-actions/DeleteConfirmDialog.tsx
|
|
7490
|
-
import { Box as
|
|
7491
|
-
import { jsx as
|
|
7331
|
+
import { Box as Box17, Button as Button5, Card as Card15, Dialog, Flex as Flex18, Stack as Stack22, Text as Text27 } from "@sanity/ui";
|
|
7332
|
+
import { jsx as jsx34, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
7492
7333
|
function DeleteConfirmDialog({
|
|
7493
7334
|
isDeleting,
|
|
7494
7335
|
onClose,
|
|
7495
7336
|
onConfirm,
|
|
7496
7337
|
reportId
|
|
7497
7338
|
}) {
|
|
7498
|
-
return /* @__PURE__ */
|
|
7339
|
+
return /* @__PURE__ */ jsx34(
|
|
7499
7340
|
Dialog,
|
|
7500
7341
|
{
|
|
7501
7342
|
header: "Delete Report",
|
|
7502
7343
|
id: "delete-report-dialog",
|
|
7503
7344
|
onClose,
|
|
7504
7345
|
width: 1,
|
|
7505
|
-
children: /* @__PURE__ */
|
|
7506
|
-
/* @__PURE__ */
|
|
7507
|
-
/* @__PURE__ */
|
|
7508
|
-
|
|
7346
|
+
children: /* @__PURE__ */ jsx34(Box17, { padding: 4, children: /* @__PURE__ */ jsxs25(Stack22, { space: 4, children: [
|
|
7347
|
+
/* @__PURE__ */ jsx34(Text27, { children: "Are you sure you want to delete this report? This action cannot be undone." }),
|
|
7348
|
+
/* @__PURE__ */ jsx34(Card15, { border: true, padding: 3, radius: 2, tone: "transparent", children: /* @__PURE__ */ jsx34(
|
|
7349
|
+
Text27,
|
|
7509
7350
|
{
|
|
7510
7351
|
muted: true,
|
|
7511
7352
|
size: 1,
|
|
@@ -7513,8 +7354,8 @@ function DeleteConfirmDialog({
|
|
|
7513
7354
|
children: reportId
|
|
7514
7355
|
}
|
|
7515
7356
|
) }),
|
|
7516
|
-
/* @__PURE__ */
|
|
7517
|
-
/* @__PURE__ */
|
|
7357
|
+
/* @__PURE__ */ jsxs25(Flex18, { gap: 2, justify: "flex-end", children: [
|
|
7358
|
+
/* @__PURE__ */ jsx34(
|
|
7518
7359
|
Button5,
|
|
7519
7360
|
{
|
|
7520
7361
|
disabled: isDeleting,
|
|
@@ -7523,7 +7364,7 @@ function DeleteConfirmDialog({
|
|
|
7523
7364
|
text: "Cancel"
|
|
7524
7365
|
}
|
|
7525
7366
|
),
|
|
7526
|
-
/* @__PURE__ */
|
|
7367
|
+
/* @__PURE__ */ jsx34(
|
|
7527
7368
|
Button5,
|
|
7528
7369
|
{
|
|
7529
7370
|
disabled: isDeleting,
|
|
@@ -7541,11 +7382,11 @@ function DeleteConfirmDialog({
|
|
|
7541
7382
|
// src/components/report-detail/report-actions/DeleteReportAction.tsx
|
|
7542
7383
|
import { TrashIcon } from "@sanity/icons";
|
|
7543
7384
|
import { MenuItem as MenuItem4 } from "@sanity/ui";
|
|
7544
|
-
import { jsx as
|
|
7385
|
+
import { jsx as jsx35 } from "react/jsx-runtime";
|
|
7545
7386
|
function DeleteReportAction({
|
|
7546
7387
|
onRequestDelete
|
|
7547
7388
|
}) {
|
|
7548
|
-
return /* @__PURE__ */
|
|
7389
|
+
return /* @__PURE__ */ jsx35(
|
|
7549
7390
|
MenuItem4,
|
|
7550
7391
|
{
|
|
7551
7392
|
icon: TrashIcon,
|
|
@@ -7561,7 +7402,7 @@ import { DownloadIcon } from "@sanity/icons";
|
|
|
7561
7402
|
import { MenuItem as MenuItem5, useToast as useToast7 } from "@sanity/ui";
|
|
7562
7403
|
import { useCallback as useCallback19, useState as useState14 } from "react";
|
|
7563
7404
|
import { useClient as useClient7 } from "sanity";
|
|
7564
|
-
import { jsx as
|
|
7405
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
7565
7406
|
function DownloadReportAction({
|
|
7566
7407
|
documentId,
|
|
7567
7408
|
reportId
|
|
@@ -7609,7 +7450,7 @@ function DownloadReportAction({
|
|
|
7609
7450
|
setDownloading(false);
|
|
7610
7451
|
}
|
|
7611
7452
|
}, [client, documentId, reportId, toast]);
|
|
7612
|
-
return /* @__PURE__ */
|
|
7453
|
+
return /* @__PURE__ */ jsx36(
|
|
7613
7454
|
MenuItem5,
|
|
7614
7455
|
{
|
|
7615
7456
|
disabled: downloading,
|
|
@@ -7639,7 +7480,7 @@ function extractEvalScope(provenance) {
|
|
|
7639
7480
|
}
|
|
7640
7481
|
|
|
7641
7482
|
// src/components/report-detail/report-actions/RerunEvaluationAction.tsx
|
|
7642
|
-
import { jsx as
|
|
7483
|
+
import { jsx as jsx37 } from "react/jsx-runtime";
|
|
7643
7484
|
var EVAL_REQUEST_TYPE2 = "ailf.evalRequest";
|
|
7644
7485
|
function slugify2(s) {
|
|
7645
7486
|
return s.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").slice(0, 40);
|
|
@@ -7706,7 +7547,7 @@ function RerunEvaluationAction({
|
|
|
7706
7547
|
setRequesting(false);
|
|
7707
7548
|
}
|
|
7708
7549
|
}, [client, currentUser?.id, provenance, reportId, toast]);
|
|
7709
|
-
return /* @__PURE__ */
|
|
7550
|
+
return /* @__PURE__ */ jsx37(
|
|
7710
7551
|
MenuItem6,
|
|
7711
7552
|
{
|
|
7712
7553
|
disabled: requesting,
|
|
@@ -7718,7 +7559,7 @@ function RerunEvaluationAction({
|
|
|
7718
7559
|
}
|
|
7719
7560
|
|
|
7720
7561
|
// src/components/report-detail/report-actions/ReportActions.tsx
|
|
7721
|
-
import { Fragment as Fragment10, jsx as
|
|
7562
|
+
import { Fragment as Fragment10, jsx as jsx38, jsxs as jsxs26 } from "react/jsx-runtime";
|
|
7722
7563
|
function ReportActions({
|
|
7723
7564
|
documentId,
|
|
7724
7565
|
onDeleted,
|
|
@@ -7774,9 +7615,9 @@ function ReportActions({
|
|
|
7774
7615
|
setDeleting(false);
|
|
7775
7616
|
}
|
|
7776
7617
|
}, [client, documentId, onDeleted, toast]);
|
|
7777
|
-
return /* @__PURE__ */
|
|
7778
|
-
/* @__PURE__ */
|
|
7779
|
-
/* @__PURE__ */
|
|
7618
|
+
return /* @__PURE__ */ jsxs26(Fragment10, { children: [
|
|
7619
|
+
/* @__PURE__ */ jsxs26(Flex19, { children: [
|
|
7620
|
+
/* @__PURE__ */ jsx38(
|
|
7780
7621
|
Button6,
|
|
7781
7622
|
{
|
|
7782
7623
|
icon: CopyIcon3,
|
|
@@ -7790,10 +7631,10 @@ function ReportActions({
|
|
|
7790
7631
|
text: "Copy Report ID"
|
|
7791
7632
|
}
|
|
7792
7633
|
),
|
|
7793
|
-
/* @__PURE__ */
|
|
7634
|
+
/* @__PURE__ */ jsx38(
|
|
7794
7635
|
MenuButton,
|
|
7795
7636
|
{
|
|
7796
|
-
button: /* @__PURE__ */
|
|
7637
|
+
button: /* @__PURE__ */ jsx38(
|
|
7797
7638
|
Button6,
|
|
7798
7639
|
{
|
|
7799
7640
|
icon: ChevronDownIcon,
|
|
@@ -7806,33 +7647,33 @@ function ReportActions({
|
|
|
7806
7647
|
}
|
|
7807
7648
|
),
|
|
7808
7649
|
id: "report-actions-menu",
|
|
7809
|
-
menu: /* @__PURE__ */
|
|
7810
|
-
/* @__PURE__ */
|
|
7811
|
-
/* @__PURE__ */
|
|
7650
|
+
menu: /* @__PURE__ */ jsxs26(Menu, { children: [
|
|
7651
|
+
/* @__PURE__ */ jsx38(CopyReportIdAction, { reportId }),
|
|
7652
|
+
/* @__PURE__ */ jsx38(
|
|
7812
7653
|
RerunEvaluationAction,
|
|
7813
7654
|
{
|
|
7814
7655
|
provenance,
|
|
7815
7656
|
reportId
|
|
7816
7657
|
}
|
|
7817
7658
|
),
|
|
7818
|
-
/* @__PURE__ */
|
|
7819
|
-
/* @__PURE__ */
|
|
7659
|
+
/* @__PURE__ */ jsx38(MenuDivider, {}),
|
|
7660
|
+
/* @__PURE__ */ jsx38(
|
|
7820
7661
|
DownloadReportAction,
|
|
7821
7662
|
{
|
|
7822
7663
|
documentId,
|
|
7823
7664
|
reportId
|
|
7824
7665
|
}
|
|
7825
7666
|
),
|
|
7826
|
-
/* @__PURE__ */
|
|
7827
|
-
/* @__PURE__ */
|
|
7828
|
-
/* @__PURE__ */
|
|
7829
|
-
/* @__PURE__ */
|
|
7667
|
+
/* @__PURE__ */ jsx38(CopyReportAction, { documentId }),
|
|
7668
|
+
/* @__PURE__ */ jsx38(CopyVisionQueryAction, { reportId }),
|
|
7669
|
+
/* @__PURE__ */ jsx38(MenuDivider, {}),
|
|
7670
|
+
/* @__PURE__ */ jsx38(DeleteReportAction, { onRequestDelete: handleRequestDelete })
|
|
7830
7671
|
] }),
|
|
7831
7672
|
popover: { placement: "bottom-end", portal: true }
|
|
7832
7673
|
}
|
|
7833
7674
|
)
|
|
7834
7675
|
] }),
|
|
7835
|
-
deleteDialogOpen && /* @__PURE__ */
|
|
7676
|
+
deleteDialogOpen && /* @__PURE__ */ jsx38(
|
|
7836
7677
|
DeleteConfirmDialog,
|
|
7837
7678
|
{
|
|
7838
7679
|
isDeleting: deleting,
|
|
@@ -7846,8 +7687,8 @@ function ReportActions({
|
|
|
7846
7687
|
|
|
7847
7688
|
// src/components/report-detail/ReportHeader.tsx
|
|
7848
7689
|
import { ArrowLeftIcon as ArrowLeftIcon2 } from "@sanity/icons";
|
|
7849
|
-
import { Button as Button7, Flex as
|
|
7850
|
-
import { jsx as
|
|
7690
|
+
import { Button as Button7, Flex as Flex20, Stack as Stack23, Text as Text28 } from "@sanity/ui";
|
|
7691
|
+
import { jsx as jsx39, jsxs as jsxs27 } from "react/jsx-runtime";
|
|
7851
7692
|
function ReportHeader({
|
|
7852
7693
|
completedAt,
|
|
7853
7694
|
onBack,
|
|
@@ -7857,11 +7698,11 @@ function ReportHeader({
|
|
|
7857
7698
|
const dateLabel = formatCardDate(completedAt);
|
|
7858
7699
|
const displayTitle = title ?? tag ?? dateLabel;
|
|
7859
7700
|
const hasSubtitle = Boolean(title ?? tag);
|
|
7860
|
-
return /* @__PURE__ */
|
|
7861
|
-
/* @__PURE__ */
|
|
7862
|
-
/* @__PURE__ */
|
|
7863
|
-
/* @__PURE__ */
|
|
7864
|
-
hasSubtitle && /* @__PURE__ */
|
|
7701
|
+
return /* @__PURE__ */ jsxs27(Flex20, { align: "center", gap: 3, children: [
|
|
7702
|
+
/* @__PURE__ */ jsx39(Button7, { icon: ArrowLeftIcon2, mode: "bleed", onClick: onBack, text: "Back" }),
|
|
7703
|
+
/* @__PURE__ */ jsxs27(Stack23, { flex: 1, space: 1, children: [
|
|
7704
|
+
/* @__PURE__ */ jsx39(Text28, { size: 4, weight: "bold", children: displayTitle }),
|
|
7705
|
+
hasSubtitle && /* @__PURE__ */ jsx39(Text28, { muted: true, size: 2, children: dateLabel })
|
|
7865
7706
|
] })
|
|
7866
7707
|
] });
|
|
7867
7708
|
}
|
|
@@ -7869,7 +7710,7 @@ function ReportHeader({
|
|
|
7869
7710
|
// src/components/report-detail/StrengthsList.tsx
|
|
7870
7711
|
import { useMemo as useMemo8 } from "react";
|
|
7871
7712
|
import { CheckmarkCircleIcon as CheckmarkCircleIcon2, SearchIcon as SearchIcon6 } from "@sanity/icons";
|
|
7872
|
-
import { Box as
|
|
7713
|
+
import { Box as Box19, Flex as Flex23, Stack as Stack25, Text as Text31 } from "@sanity/ui";
|
|
7873
7714
|
|
|
7874
7715
|
// src/components/report-detail/AreaScoresGrid.tsx
|
|
7875
7716
|
import React3, {
|
|
@@ -7878,8 +7719,8 @@ import React3, {
|
|
|
7878
7719
|
useState as useState17
|
|
7879
7720
|
} from "react";
|
|
7880
7721
|
import { WarningOutlineIcon as WarningOutlineIcon2 } from "@sanity/icons";
|
|
7881
|
-
import { Box as
|
|
7882
|
-
import { Fragment as Fragment11, jsx as
|
|
7722
|
+
import { Box as Box18, Flex as Flex21, Stack as Stack24, Text as Text29 } from "@sanity/ui";
|
|
7723
|
+
import { Fragment as Fragment11, jsx as jsx40, jsxs as jsxs28 } from "react/jsx-runtime";
|
|
7883
7724
|
var DIMENSION_TOOLTIPS2 = {
|
|
7884
7725
|
agentOutput: "Quality and completeness of the agent's output. Graded 0\u2013100.",
|
|
7885
7726
|
assertionPassRate: "Fraction of structural assertions that passed. Graded 0\u2013100.",
|
|
@@ -7888,7 +7729,7 @@ var DIMENSION_TOOLTIPS2 = {
|
|
|
7888
7729
|
taskCompletion: GLOSSARY.taskCompletion,
|
|
7889
7730
|
toolUsage: "How effectively the agent used available tools (file read/write, shell, etc.). Graded 0\u2013100."
|
|
7890
7731
|
};
|
|
7891
|
-
function
|
|
7732
|
+
function tableTier(width) {
|
|
7892
7733
|
if (width >= 900) return "full";
|
|
7893
7734
|
if (width >= 600) return "compact";
|
|
7894
7735
|
return "narrow";
|
|
@@ -7899,7 +7740,6 @@ function gridColumns(tier, dimCount, showLift, hasActual) {
|
|
|
7899
7740
|
case "full": {
|
|
7900
7741
|
const parts = ["120px", "1fr", dims];
|
|
7901
7742
|
if (showLift) parts.push("80px");
|
|
7902
|
-
if (showLift) parts.push("72px");
|
|
7903
7743
|
if (hasActual) parts.push("72px");
|
|
7904
7744
|
return parts.join(" ");
|
|
7905
7745
|
}
|
|
@@ -7919,7 +7759,7 @@ function AreaScoresGrid({
|
|
|
7919
7759
|
perModel
|
|
7920
7760
|
}) {
|
|
7921
7761
|
const { ref: containerRef, width } = useContainerWidth();
|
|
7922
|
-
const tier =
|
|
7762
|
+
const tier = tableTier(width);
|
|
7923
7763
|
const hasActual = useMemo6(
|
|
7924
7764
|
() => scores.some((s) => s.actualScore != null),
|
|
7925
7765
|
[scores]
|
|
@@ -7972,8 +7812,8 @@ function AreaScoresGrid({
|
|
|
7972
7812
|
}
|
|
7973
7813
|
return map;
|
|
7974
7814
|
}, [perModel]);
|
|
7975
|
-
return /* @__PURE__ */
|
|
7976
|
-
/* @__PURE__ */
|
|
7815
|
+
return /* @__PURE__ */ jsxs28(Box18, { ref: containerRef, style: { ...neutralCardStyle, overflow: "auto" }, children: [
|
|
7816
|
+
/* @__PURE__ */ jsxs28(
|
|
7977
7817
|
"div",
|
|
7978
7818
|
{
|
|
7979
7819
|
style: {
|
|
@@ -7989,8 +7829,8 @@ function AreaScoresGrid({
|
|
|
7989
7829
|
padding: "12px 16px 8px"
|
|
7990
7830
|
},
|
|
7991
7831
|
children: [
|
|
7992
|
-
/* @__PURE__ */
|
|
7993
|
-
|
|
7832
|
+
/* @__PURE__ */ jsx40(
|
|
7833
|
+
ColHeader2,
|
|
7994
7834
|
{
|
|
7995
7835
|
active: sortField === "score",
|
|
7996
7836
|
direction: sortDir,
|
|
@@ -7999,8 +7839,8 @@ function AreaScoresGrid({
|
|
|
7999
7839
|
tooltip: GLOSSARY.score
|
|
8000
7840
|
}
|
|
8001
7841
|
),
|
|
8002
|
-
/* @__PURE__ */
|
|
8003
|
-
|
|
7842
|
+
/* @__PURE__ */ jsx40(
|
|
7843
|
+
ColHeader2,
|
|
8004
7844
|
{
|
|
8005
7845
|
active: sortField === "area",
|
|
8006
7846
|
direction: sortDir,
|
|
@@ -8008,8 +7848,8 @@ function AreaScoresGrid({
|
|
|
8008
7848
|
onClick: () => handleSort("area")
|
|
8009
7849
|
}
|
|
8010
7850
|
),
|
|
8011
|
-
dimKeys.map((key) => /* @__PURE__ */
|
|
8012
|
-
|
|
7851
|
+
dimKeys.map((key) => /* @__PURE__ */ jsx40(
|
|
7852
|
+
ColHeader2,
|
|
8013
7853
|
{
|
|
8014
7854
|
active: sortField === key,
|
|
8015
7855
|
direction: sortDir,
|
|
@@ -8019,8 +7859,8 @@ function AreaScoresGrid({
|
|
|
8019
7859
|
},
|
|
8020
7860
|
key
|
|
8021
7861
|
)),
|
|
8022
|
-
tier !== "narrow" && showLift && /* @__PURE__ */
|
|
8023
|
-
|
|
7862
|
+
tier !== "narrow" && showLift && /* @__PURE__ */ jsx40(
|
|
7863
|
+
ColHeader2,
|
|
8024
7864
|
{
|
|
8025
7865
|
active: sortField === "lift",
|
|
8026
7866
|
direction: sortDir,
|
|
@@ -8029,13 +7869,12 @@ function AreaScoresGrid({
|
|
|
8029
7869
|
tooltip: GLOSSARY.docLift
|
|
8030
7870
|
}
|
|
8031
7871
|
),
|
|
8032
|
-
tier === "full" &&
|
|
8033
|
-
tier === "full" && hasActual && /* @__PURE__ */ jsx41(ColHeader3, { label: "Actual", tooltip: GLOSSARY.actualScore })
|
|
7872
|
+
tier === "full" && hasActual && /* @__PURE__ */ jsx40(ColHeader2, { label: "Actual", tooltip: GLOSSARY.actualScore })
|
|
8034
7873
|
]
|
|
8035
7874
|
}
|
|
8036
7875
|
),
|
|
8037
|
-
sorted.map((area) => /* @__PURE__ */
|
|
8038
|
-
/* @__PURE__ */
|
|
7876
|
+
sorted.map((area) => /* @__PURE__ */ jsxs28(React3.Fragment, { children: [
|
|
7877
|
+
/* @__PURE__ */ jsx40(
|
|
8039
7878
|
AreaRow,
|
|
8040
7879
|
{
|
|
8041
7880
|
area,
|
|
@@ -8046,7 +7885,7 @@ function AreaScoresGrid({
|
|
|
8046
7885
|
tier
|
|
8047
7886
|
}
|
|
8048
7887
|
),
|
|
8049
|
-
modelScoresByFeature && /* @__PURE__ */
|
|
7888
|
+
modelScoresByFeature && /* @__PURE__ */ jsx40(
|
|
8050
7889
|
ModelSubRows,
|
|
8051
7890
|
{
|
|
8052
7891
|
dimKeys,
|
|
@@ -8067,7 +7906,7 @@ function ModelSubRows({
|
|
|
8067
7906
|
tier
|
|
8068
7907
|
}) {
|
|
8069
7908
|
if (!models || models.length === 0) return null;
|
|
8070
|
-
return /* @__PURE__ */
|
|
7909
|
+
return /* @__PURE__ */ jsx40(Fragment11, { children: models.map((entry) => /* @__PURE__ */ jsx40(
|
|
8071
7910
|
ModelRow,
|
|
8072
7911
|
{
|
|
8073
7912
|
dimKeys,
|
|
@@ -8089,7 +7928,7 @@ function ModelRow({
|
|
|
8089
7928
|
tier
|
|
8090
7929
|
}) {
|
|
8091
7930
|
const isNarrow = tier === "narrow";
|
|
8092
|
-
return /* @__PURE__ */
|
|
7931
|
+
return /* @__PURE__ */ jsxs28(
|
|
8093
7932
|
"div",
|
|
8094
7933
|
{
|
|
8095
7934
|
style: {
|
|
@@ -8107,8 +7946,8 @@ function ModelRow({
|
|
|
8107
7946
|
padding: isNarrow ? "6px 12px 6px 20px" : "6px 16px 6px 28px"
|
|
8108
7947
|
},
|
|
8109
7948
|
children: [
|
|
8110
|
-
/* @__PURE__ */
|
|
8111
|
-
|
|
7949
|
+
/* @__PURE__ */ jsx40(Flex21, { align: "center", children: /* @__PURE__ */ jsx40(
|
|
7950
|
+
Text29,
|
|
8112
7951
|
{
|
|
8113
7952
|
size: 1,
|
|
8114
7953
|
style: {
|
|
@@ -8119,8 +7958,8 @@ function ModelRow({
|
|
|
8119
7958
|
children: Math.round(scores.totalScore)
|
|
8120
7959
|
}
|
|
8121
7960
|
) }),
|
|
8122
|
-
/* @__PURE__ */
|
|
8123
|
-
dimKeys.map((key) => /* @__PURE__ */
|
|
7961
|
+
/* @__PURE__ */ jsx40(Flex21, { align: "center", gap: 2, children: /* @__PURE__ */ jsx40(Text29, { muted: true, size: 1, children: label }) }),
|
|
7962
|
+
dimKeys.map((key) => /* @__PURE__ */ jsx40(
|
|
8124
7963
|
DimCell,
|
|
8125
7964
|
{
|
|
8126
7965
|
area: label,
|
|
@@ -8130,8 +7969,8 @@ function ModelRow({
|
|
|
8130
7969
|
},
|
|
8131
7970
|
key
|
|
8132
7971
|
)),
|
|
8133
|
-
!isNarrow && showLift && /* @__PURE__ */
|
|
8134
|
-
|
|
7972
|
+
!isNarrow && showLift && /* @__PURE__ */ jsxs28(
|
|
7973
|
+
Text29,
|
|
8135
7974
|
{
|
|
8136
7975
|
size: 1,
|
|
8137
7976
|
style: {
|
|
@@ -8145,17 +7984,8 @@ function ModelRow({
|
|
|
8145
7984
|
]
|
|
8146
7985
|
}
|
|
8147
7986
|
),
|
|
8148
|
-
tier === "full" &&
|
|
8149
|
-
|
|
8150
|
-
{
|
|
8151
|
-
muted: true,
|
|
8152
|
-
size: 1,
|
|
8153
|
-
style: { fontFamily: "var(--font-code-size, monospace)" },
|
|
8154
|
-
children: Math.round(scores.floorScore ?? 0)
|
|
8155
|
-
}
|
|
8156
|
-
),
|
|
8157
|
-
tier === "full" && hasActual && /* @__PURE__ */ jsx41(
|
|
8158
|
-
Text30,
|
|
7987
|
+
tier === "full" && hasActual && /* @__PURE__ */ jsx40(
|
|
7988
|
+
Text29,
|
|
8159
7989
|
{
|
|
8160
7990
|
size: 1,
|
|
8161
7991
|
style: {
|
|
@@ -8179,7 +8009,7 @@ function AreaRow({
|
|
|
8179
8009
|
tier
|
|
8180
8010
|
}) {
|
|
8181
8011
|
const isNarrow = tier === "narrow";
|
|
8182
|
-
return /* @__PURE__ */
|
|
8012
|
+
return /* @__PURE__ */ jsxs28(
|
|
8183
8013
|
"div",
|
|
8184
8014
|
{
|
|
8185
8015
|
style: {
|
|
@@ -8196,15 +8026,15 @@ function AreaRow({
|
|
|
8196
8026
|
padding: isNarrow ? "8px 12px" : "10px 16px"
|
|
8197
8027
|
},
|
|
8198
8028
|
children: [
|
|
8199
|
-
/* @__PURE__ */
|
|
8200
|
-
/* @__PURE__ */
|
|
8029
|
+
/* @__PURE__ */ jsxs28(Flex21, { align: "center", gap: isNarrow ? 0 : 2, children: [
|
|
8030
|
+
/* @__PURE__ */ jsx40(
|
|
8201
8031
|
HoverTip,
|
|
8202
8032
|
{
|
|
8203
|
-
text: /* @__PURE__ */
|
|
8204
|
-
/* @__PURE__ */
|
|
8033
|
+
text: /* @__PURE__ */ jsxs28(Text29, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
8034
|
+
/* @__PURE__ */ jsx40("span", { style: { fontWeight: 600 }, children: area.feature }),
|
|
8205
8035
|
" score:",
|
|
8206
8036
|
" ",
|
|
8207
|
-
/* @__PURE__ */
|
|
8037
|
+
/* @__PURE__ */ jsx40(
|
|
8208
8038
|
"span",
|
|
8209
8039
|
{
|
|
8210
8040
|
style: {
|
|
@@ -8215,12 +8045,12 @@ function AreaRow({
|
|
|
8215
8045
|
children: Math.round(area.totalScore)
|
|
8216
8046
|
}
|
|
8217
8047
|
),
|
|
8218
|
-
/* @__PURE__ */
|
|
8048
|
+
/* @__PURE__ */ jsx40("span", { style: { color: "var(--card-muted-fg-color)" }, children: "/100" }),
|
|
8219
8049
|
".",
|
|
8220
8050
|
" ",
|
|
8221
8051
|
GLOSSARY.score
|
|
8222
8052
|
] }),
|
|
8223
|
-
children: /* @__PURE__ */
|
|
8053
|
+
children: /* @__PURE__ */ jsx40(
|
|
8224
8054
|
"div",
|
|
8225
8055
|
{
|
|
8226
8056
|
style: {
|
|
@@ -8241,11 +8071,11 @@ function AreaRow({
|
|
|
8241
8071
|
)
|
|
8242
8072
|
}
|
|
8243
8073
|
),
|
|
8244
|
-
!isNarrow && delta != null && delta !== 0 && /* @__PURE__ */
|
|
8074
|
+
!isNarrow && delta != null && delta !== 0 && /* @__PURE__ */ jsx40(HoverTip, { text: GLOSSARY.areaDelta, children: /* @__PURE__ */ jsx40(DeltaIndicator, { delta, icon: true, size: 1 }) })
|
|
8245
8075
|
] }),
|
|
8246
|
-
/* @__PURE__ */
|
|
8247
|
-
/* @__PURE__ */
|
|
8248
|
-
area.negativeDocLift && showLift && /* @__PURE__ */
|
|
8076
|
+
/* @__PURE__ */ jsxs28(Flex21, { align: "center", gap: 2, wrap: "wrap", children: [
|
|
8077
|
+
/* @__PURE__ */ jsx40(Text29, { size: 2, weight: "medium", children: area.feature }),
|
|
8078
|
+
area.negativeDocLift && showLift && /* @__PURE__ */ jsx40(HoverTip, { text: GLOSSARY.docsHurt, children: /* @__PURE__ */ jsx40(
|
|
8249
8079
|
"span",
|
|
8250
8080
|
{
|
|
8251
8081
|
style: {
|
|
@@ -8258,11 +8088,11 @@ function AreaRow({
|
|
|
8258
8088
|
gap: 3,
|
|
8259
8089
|
padding: "1px 5px"
|
|
8260
8090
|
},
|
|
8261
|
-
children: /* @__PURE__ */
|
|
8091
|
+
children: /* @__PURE__ */ jsx40(WarningOutlineIcon2, {})
|
|
8262
8092
|
}
|
|
8263
8093
|
) })
|
|
8264
8094
|
] }),
|
|
8265
|
-
dimKeys.map((key) => /* @__PURE__ */
|
|
8095
|
+
dimKeys.map((key) => /* @__PURE__ */ jsx40(
|
|
8266
8096
|
DimCell,
|
|
8267
8097
|
{
|
|
8268
8098
|
area: area.feature,
|
|
@@ -8271,14 +8101,14 @@ function AreaRow({
|
|
|
8271
8101
|
},
|
|
8272
8102
|
key
|
|
8273
8103
|
)),
|
|
8274
|
-
!isNarrow && showLift && /* @__PURE__ */
|
|
8104
|
+
!isNarrow && showLift && /* @__PURE__ */ jsx40(
|
|
8275
8105
|
HoverTip,
|
|
8276
8106
|
{
|
|
8277
|
-
text: /* @__PURE__ */
|
|
8278
|
-
/* @__PURE__ */
|
|
8107
|
+
text: /* @__PURE__ */ jsxs28(Text29, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
8108
|
+
/* @__PURE__ */ jsx40("span", { style: { fontWeight: 600 }, children: area.feature }),
|
|
8279
8109
|
" doc lift:",
|
|
8280
8110
|
" ",
|
|
8281
|
-
/* @__PURE__ */
|
|
8111
|
+
/* @__PURE__ */ jsxs28(
|
|
8282
8112
|
"span",
|
|
8283
8113
|
{
|
|
8284
8114
|
style: {
|
|
@@ -8296,8 +8126,8 @@ function AreaRow({
|
|
|
8296
8126
|
"pts. ",
|
|
8297
8127
|
GLOSSARY.docLift
|
|
8298
8128
|
] }),
|
|
8299
|
-
children: /* @__PURE__ */
|
|
8300
|
-
|
|
8129
|
+
children: /* @__PURE__ */ jsxs28(
|
|
8130
|
+
Text29,
|
|
8301
8131
|
{
|
|
8302
8132
|
size: 2,
|
|
8303
8133
|
style: {
|
|
@@ -8313,21 +8143,12 @@ function AreaRow({
|
|
|
8313
8143
|
)
|
|
8314
8144
|
}
|
|
8315
8145
|
),
|
|
8316
|
-
tier === "full" &&
|
|
8317
|
-
Text30,
|
|
8318
|
-
{
|
|
8319
|
-
muted: true,
|
|
8320
|
-
size: 2,
|
|
8321
|
-
style: { fontFamily: "var(--font-code-size, monospace)" },
|
|
8322
|
-
children: Math.round(area.floorScore ?? 0)
|
|
8323
|
-
}
|
|
8324
|
-
),
|
|
8325
|
-
tier === "full" && hasActual && /* @__PURE__ */ jsx41(
|
|
8146
|
+
tier === "full" && hasActual && /* @__PURE__ */ jsx40(
|
|
8326
8147
|
HoverTip,
|
|
8327
8148
|
{
|
|
8328
8149
|
text: area.actualScore != null ? `${area.feature} actual score: ${Math.round(area.actualScore)}/100. ${GLOSSARY.actualScore}` : `No agentic data for ${area.feature}.`,
|
|
8329
|
-
children: /* @__PURE__ */
|
|
8330
|
-
|
|
8150
|
+
children: /* @__PURE__ */ jsx40(
|
|
8151
|
+
Text29,
|
|
8331
8152
|
{
|
|
8332
8153
|
size: 2,
|
|
8333
8154
|
style: {
|
|
@@ -8356,17 +8177,17 @@ function DimCell({
|
|
|
8356
8177
|
const tooltip = dimKey ? DIMENSION_TOOLTIPS2[dimKey] : "";
|
|
8357
8178
|
const textSize = size === "small" ? 0 : 1;
|
|
8358
8179
|
const barHeight = size === "small" ? 3 : 4;
|
|
8359
|
-
return /* @__PURE__ */
|
|
8180
|
+
return /* @__PURE__ */ jsx40(
|
|
8360
8181
|
HoverTip,
|
|
8361
8182
|
{
|
|
8362
|
-
text: /* @__PURE__ */
|
|
8363
|
-
/* @__PURE__ */
|
|
8183
|
+
text: /* @__PURE__ */ jsxs28(Text29, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
8184
|
+
/* @__PURE__ */ jsx40("span", { style: { fontWeight: 600 }, children: area }),
|
|
8364
8185
|
" \u2192",
|
|
8365
8186
|
" ",
|
|
8366
|
-
/* @__PURE__ */
|
|
8187
|
+
/* @__PURE__ */ jsx40("span", { style: { fontWeight: 600 }, children: dim }),
|
|
8367
8188
|
":",
|
|
8368
8189
|
" ",
|
|
8369
|
-
/* @__PURE__ */
|
|
8190
|
+
/* @__PURE__ */ jsx40(
|
|
8370
8191
|
"span",
|
|
8371
8192
|
{
|
|
8372
8193
|
style: {
|
|
@@ -8377,14 +8198,14 @@ function DimCell({
|
|
|
8377
8198
|
children: Math.round(value)
|
|
8378
8199
|
}
|
|
8379
8200
|
),
|
|
8380
|
-
/* @__PURE__ */
|
|
8201
|
+
/* @__PURE__ */ jsx40("span", { style: { color: "var(--card-muted-fg-color)" }, children: "/100" }),
|
|
8381
8202
|
".",
|
|
8382
8203
|
" ",
|
|
8383
8204
|
tooltip
|
|
8384
8205
|
] }),
|
|
8385
|
-
children: /* @__PURE__ */
|
|
8386
|
-
/* @__PURE__ */
|
|
8387
|
-
|
|
8206
|
+
children: /* @__PURE__ */ jsxs28(Stack24, { space: 1, style: { width: "100%" }, children: [
|
|
8207
|
+
/* @__PURE__ */ jsx40(
|
|
8208
|
+
Text29,
|
|
8388
8209
|
{
|
|
8389
8210
|
size: textSize,
|
|
8390
8211
|
style: {
|
|
@@ -8395,7 +8216,7 @@ function DimCell({
|
|
|
8395
8216
|
children: Math.round(value)
|
|
8396
8217
|
}
|
|
8397
8218
|
),
|
|
8398
|
-
/* @__PURE__ */
|
|
8219
|
+
/* @__PURE__ */ jsx40(
|
|
8399
8220
|
"div",
|
|
8400
8221
|
{
|
|
8401
8222
|
style: {
|
|
@@ -8405,7 +8226,7 @@ function DimCell({
|
|
|
8405
8226
|
overflow: "hidden",
|
|
8406
8227
|
width: "100%"
|
|
8407
8228
|
},
|
|
8408
|
-
children: /* @__PURE__ */
|
|
8229
|
+
children: /* @__PURE__ */ jsx40(
|
|
8409
8230
|
"div",
|
|
8410
8231
|
{
|
|
8411
8232
|
style: {
|
|
@@ -8423,7 +8244,7 @@ function DimCell({
|
|
|
8423
8244
|
}
|
|
8424
8245
|
);
|
|
8425
8246
|
}
|
|
8426
|
-
function
|
|
8247
|
+
function ColHeader2({
|
|
8427
8248
|
active,
|
|
8428
8249
|
direction,
|
|
8429
8250
|
label,
|
|
@@ -8440,8 +8261,8 @@ function ColHeader3({
|
|
|
8440
8261
|
[onClick]
|
|
8441
8262
|
);
|
|
8442
8263
|
const arrow = active ? direction === "asc" ? " \u2191" : " \u2193" : "";
|
|
8443
|
-
return /* @__PURE__ */
|
|
8444
|
-
/* @__PURE__ */
|
|
8264
|
+
return /* @__PURE__ */ jsxs28(Flex21, { align: "center", gap: 1, children: [
|
|
8265
|
+
/* @__PURE__ */ jsx40(
|
|
8445
8266
|
"div",
|
|
8446
8267
|
{
|
|
8447
8268
|
onClick,
|
|
@@ -8452,8 +8273,8 @@ function ColHeader3({
|
|
|
8452
8273
|
userSelect: "none"
|
|
8453
8274
|
},
|
|
8454
8275
|
tabIndex: onClick ? 0 : void 0,
|
|
8455
|
-
children: /* @__PURE__ */
|
|
8456
|
-
|
|
8276
|
+
children: /* @__PURE__ */ jsxs28(
|
|
8277
|
+
Text29,
|
|
8457
8278
|
{
|
|
8458
8279
|
muted: true,
|
|
8459
8280
|
size: 1,
|
|
@@ -8470,14 +8291,14 @@ function ColHeader3({
|
|
|
8470
8291
|
)
|
|
8471
8292
|
}
|
|
8472
8293
|
),
|
|
8473
|
-
tooltip && /* @__PURE__ */
|
|
8294
|
+
tooltip && /* @__PURE__ */ jsx40(InfoTip, { text: tooltip })
|
|
8474
8295
|
] });
|
|
8475
8296
|
}
|
|
8476
8297
|
|
|
8477
8298
|
// src/components/report-detail/ModelSelector.tsx
|
|
8478
8299
|
import { useCallback as useCallback23 } from "react";
|
|
8479
|
-
import { Flex as
|
|
8480
|
-
import { jsx as
|
|
8300
|
+
import { Flex as Flex22, Text as Text30 } from "@sanity/ui";
|
|
8301
|
+
import { jsx as jsx41, jsxs as jsxs29 } from "react/jsx-runtime";
|
|
8481
8302
|
var pillBase = {
|
|
8482
8303
|
borderColor: "var(--card-border-color)",
|
|
8483
8304
|
borderRadius: 999,
|
|
@@ -8508,8 +8329,8 @@ function ModelSelector({
|
|
|
8508
8329
|
selection,
|
|
8509
8330
|
onChange
|
|
8510
8331
|
}) {
|
|
8511
|
-
return /* @__PURE__ */
|
|
8512
|
-
/* @__PURE__ */
|
|
8332
|
+
return /* @__PURE__ */ jsxs29(Flex22, { align: "center", gap: 1, wrap: "wrap", children: [
|
|
8333
|
+
/* @__PURE__ */ jsx41(
|
|
8513
8334
|
Pill2,
|
|
8514
8335
|
{
|
|
8515
8336
|
isSelected: selection === null,
|
|
@@ -8517,7 +8338,7 @@ function ModelSelector({
|
|
|
8517
8338
|
onClick: () => onChange(null)
|
|
8518
8339
|
}
|
|
8519
8340
|
),
|
|
8520
|
-
models.map((model) => /* @__PURE__ */
|
|
8341
|
+
models.map((model) => /* @__PURE__ */ jsx41(
|
|
8521
8342
|
Pill2,
|
|
8522
8343
|
{
|
|
8523
8344
|
isSelected: selection === model.modelId,
|
|
@@ -8526,7 +8347,7 @@ function ModelSelector({
|
|
|
8526
8347
|
},
|
|
8527
8348
|
model.modelId
|
|
8528
8349
|
)),
|
|
8529
|
-
/* @__PURE__ */
|
|
8350
|
+
/* @__PURE__ */ jsx41(
|
|
8530
8351
|
"div",
|
|
8531
8352
|
{
|
|
8532
8353
|
style: {
|
|
@@ -8537,7 +8358,7 @@ function ModelSelector({
|
|
|
8537
8358
|
}
|
|
8538
8359
|
}
|
|
8539
8360
|
),
|
|
8540
|
-
/* @__PURE__ */
|
|
8361
|
+
/* @__PURE__ */ jsx41(
|
|
8541
8362
|
Pill2,
|
|
8542
8363
|
{
|
|
8543
8364
|
isSelected: selection === "expanded",
|
|
@@ -8561,7 +8382,7 @@ function Pill2({
|
|
|
8561
8382
|
},
|
|
8562
8383
|
[onClick]
|
|
8563
8384
|
);
|
|
8564
|
-
return /* @__PURE__ */
|
|
8385
|
+
return /* @__PURE__ */ jsx41(
|
|
8565
8386
|
"span",
|
|
8566
8387
|
{
|
|
8567
8388
|
onClick,
|
|
@@ -8569,8 +8390,8 @@ function Pill2({
|
|
|
8569
8390
|
role: "button",
|
|
8570
8391
|
style: isSelected ? pillSelected : pillDefault,
|
|
8571
8392
|
tabIndex: 0,
|
|
8572
|
-
children: /* @__PURE__ */
|
|
8573
|
-
|
|
8393
|
+
children: /* @__PURE__ */ jsx41(
|
|
8394
|
+
Text30,
|
|
8574
8395
|
{
|
|
8575
8396
|
size: 1,
|
|
8576
8397
|
style: {
|
|
@@ -8613,7 +8434,7 @@ function useModelSelection({
|
|
|
8613
8434
|
}
|
|
8614
8435
|
|
|
8615
8436
|
// src/components/report-detail/StrengthsList.tsx
|
|
8616
|
-
import { jsx as
|
|
8437
|
+
import { jsx as jsx42, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
8617
8438
|
function StrengthsList({
|
|
8618
8439
|
mode,
|
|
8619
8440
|
scores,
|
|
@@ -8637,13 +8458,13 @@ function StrengthsList({
|
|
|
8637
8458
|
(a, b) => (b.infrastructureEfficiency ?? 0) - (a.infrastructureEfficiency ?? 0)
|
|
8638
8459
|
);
|
|
8639
8460
|
if (displayedScores.length === 0) return null;
|
|
8640
|
-
return /* @__PURE__ */
|
|
8641
|
-
/* @__PURE__ */
|
|
8642
|
-
/* @__PURE__ */
|
|
8643
|
-
/* @__PURE__ */
|
|
8644
|
-
/* @__PURE__ */
|
|
8645
|
-
/* @__PURE__ */
|
|
8646
|
-
hasModels && /* @__PURE__ */
|
|
8461
|
+
return /* @__PURE__ */ jsxs30(Stack25, { space: 5, children: [
|
|
8462
|
+
/* @__PURE__ */ jsxs30(Stack25, { space: 3, children: [
|
|
8463
|
+
/* @__PURE__ */ jsxs30(Flex23, { align: "center", gap: 2, wrap: "wrap", children: [
|
|
8464
|
+
/* @__PURE__ */ jsx42(CheckmarkCircleIcon2, { style: { color: "#34d399" } }),
|
|
8465
|
+
/* @__PURE__ */ jsx42(Text31, { size: 2, weight: "medium", children: "Strong Areas (70+)" }),
|
|
8466
|
+
/* @__PURE__ */ jsx42(InfoTip, { text: GLOSSARY.strengths }),
|
|
8467
|
+
hasModels && /* @__PURE__ */ jsx42(Box19, { style: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx42(
|
|
8647
8468
|
ModelSelector,
|
|
8648
8469
|
{
|
|
8649
8470
|
models: perModel,
|
|
@@ -8652,7 +8473,7 @@ function StrengthsList({
|
|
|
8652
8473
|
}
|
|
8653
8474
|
) })
|
|
8654
8475
|
] }),
|
|
8655
|
-
/* @__PURE__ */
|
|
8476
|
+
/* @__PURE__ */ jsx42(
|
|
8656
8477
|
AreaScoresGrid,
|
|
8657
8478
|
{
|
|
8658
8479
|
mode,
|
|
@@ -8662,33 +8483,33 @@ function StrengthsList({
|
|
|
8662
8483
|
}
|
|
8663
8484
|
)
|
|
8664
8485
|
] }),
|
|
8665
|
-
retrievalSuccesses.length > 0 && /* @__PURE__ */
|
|
8666
|
-
/* @__PURE__ */
|
|
8667
|
-
|
|
8486
|
+
retrievalSuccesses.length > 0 && /* @__PURE__ */ jsxs30(Box19, { style: neutralCardStyle, children: [
|
|
8487
|
+
/* @__PURE__ */ jsx42(
|
|
8488
|
+
Box19,
|
|
8668
8489
|
{
|
|
8669
8490
|
padding: 4,
|
|
8670
8491
|
style: { borderBottom: "1px solid var(--card-border-color)" },
|
|
8671
|
-
children: /* @__PURE__ */
|
|
8672
|
-
/* @__PURE__ */
|
|
8673
|
-
/* @__PURE__ */
|
|
8492
|
+
children: /* @__PURE__ */ jsxs30(Flex23, { align: "center", gap: 2, children: [
|
|
8493
|
+
/* @__PURE__ */ jsx42(SearchIcon6, { style: { color: "#34d399" } }),
|
|
8494
|
+
/* @__PURE__ */ jsxs30(Text31, { size: 2, weight: "medium", children: [
|
|
8674
8495
|
"Retrieval Successes (",
|
|
8675
8496
|
Math.round(EFFICIENCY_POSITIVE * 100),
|
|
8676
8497
|
"%+ efficiency)"
|
|
8677
8498
|
] }),
|
|
8678
|
-
/* @__PURE__ */
|
|
8499
|
+
/* @__PURE__ */ jsx42(InfoTip, { text: GLOSSARY.retrievalExcellence })
|
|
8679
8500
|
] })
|
|
8680
8501
|
}
|
|
8681
8502
|
),
|
|
8682
|
-
/* @__PURE__ */
|
|
8683
|
-
|
|
8503
|
+
/* @__PURE__ */ jsx42(Stack25, { children: retrievalSuccesses.map((area, i) => /* @__PURE__ */ jsxs30(
|
|
8504
|
+
Flex23,
|
|
8684
8505
|
{
|
|
8685
8506
|
align: "center",
|
|
8686
8507
|
justify: "space-between",
|
|
8687
8508
|
padding: 4,
|
|
8688
8509
|
style: i > 0 ? dividerStyle : void 0,
|
|
8689
8510
|
children: [
|
|
8690
|
-
/* @__PURE__ */
|
|
8691
|
-
/* @__PURE__ */
|
|
8511
|
+
/* @__PURE__ */ jsx42(Text31, { size: 2, children: area.feature }),
|
|
8512
|
+
/* @__PURE__ */ jsx42(
|
|
8692
8513
|
"span",
|
|
8693
8514
|
{
|
|
8694
8515
|
style: {
|
|
@@ -8715,11 +8536,11 @@ import {
|
|
|
8715
8536
|
ErrorOutlineIcon as ErrorOutlineIcon3,
|
|
8716
8537
|
SearchIcon as SearchIcon7,
|
|
8717
8538
|
WarningOutlineIcon as WarningOutlineIcon3,
|
|
8718
|
-
BoltIcon
|
|
8539
|
+
BoltIcon,
|
|
8719
8540
|
ArrowDownIcon as ArrowDownIcon2
|
|
8720
8541
|
} from "@sanity/icons";
|
|
8721
|
-
import { Box as
|
|
8722
|
-
import { jsx as
|
|
8542
|
+
import { Box as Box20, Flex as Flex24, Stack as Stack26, Text as Text32 } from "@sanity/ui";
|
|
8543
|
+
import { jsx as jsx43, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
8723
8544
|
function WeaknessesList({
|
|
8724
8545
|
mode,
|
|
8725
8546
|
scores,
|
|
@@ -8749,13 +8570,13 @@ function WeaknessesList({
|
|
|
8749
8570
|
);
|
|
8750
8571
|
const hasContent = weakAreas.length > 0 || docsHurt.length > 0 || retrievalIssues.length > 0 || dimWeaknesses.length > 0 || regressed.length > 0 || efficiencyAnomalies.length > 0;
|
|
8751
8572
|
if (!hasContent) return null;
|
|
8752
|
-
return /* @__PURE__ */
|
|
8753
|
-
weakAreas.length > 0 && /* @__PURE__ */
|
|
8754
|
-
/* @__PURE__ */
|
|
8755
|
-
/* @__PURE__ */
|
|
8756
|
-
/* @__PURE__ */
|
|
8757
|
-
/* @__PURE__ */
|
|
8758
|
-
hasModels && /* @__PURE__ */
|
|
8573
|
+
return /* @__PURE__ */ jsxs31(Stack26, { space: 5, children: [
|
|
8574
|
+
weakAreas.length > 0 && /* @__PURE__ */ jsxs31(Stack26, { space: 3, children: [
|
|
8575
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, wrap: "wrap", children: [
|
|
8576
|
+
/* @__PURE__ */ jsx43(ErrorOutlineIcon3, { style: { color: "#f87171" } }),
|
|
8577
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Weak Areas (<70)" }),
|
|
8578
|
+
/* @__PURE__ */ jsx43(InfoTip, { text: GLOSSARY.weakAreas }),
|
|
8579
|
+
hasModels && /* @__PURE__ */ jsx43(Box20, { style: { marginLeft: "auto" }, children: /* @__PURE__ */ jsx43(
|
|
8759
8580
|
ModelSelector,
|
|
8760
8581
|
{
|
|
8761
8582
|
models: perModel,
|
|
@@ -8764,7 +8585,7 @@ function WeaknessesList({
|
|
|
8764
8585
|
}
|
|
8765
8586
|
) })
|
|
8766
8587
|
] }),
|
|
8767
|
-
/* @__PURE__ */
|
|
8588
|
+
/* @__PURE__ */ jsx43(
|
|
8768
8589
|
AreaScoresGrid,
|
|
8769
8590
|
{
|
|
8770
8591
|
mode,
|
|
@@ -8774,22 +8595,22 @@ function WeaknessesList({
|
|
|
8774
8595
|
}
|
|
8775
8596
|
)
|
|
8776
8597
|
] }),
|
|
8777
|
-
docsHurt.length > 0 && /* @__PURE__ */
|
|
8778
|
-
/* @__PURE__ */
|
|
8779
|
-
/* @__PURE__ */
|
|
8780
|
-
/* @__PURE__ */
|
|
8781
|
-
/* @__PURE__ */
|
|
8598
|
+
docsHurt.length > 0 && /* @__PURE__ */ jsxs31(Stack26, { space: 3, children: [
|
|
8599
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8600
|
+
/* @__PURE__ */ jsx43(ErrorOutlineIcon3, { style: { color: "#f87171" } }),
|
|
8601
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Docs Hurt Performance (Negative Doc Lift)" }),
|
|
8602
|
+
/* @__PURE__ */ jsx43(InfoTip, { text: GLOSSARY.docsHurt })
|
|
8782
8603
|
] }),
|
|
8783
|
-
/* @__PURE__ */
|
|
8784
|
-
|
|
8604
|
+
/* @__PURE__ */ jsx43(Box20, { style: sectionStyle("red"), children: docsHurt.map((area, i) => /* @__PURE__ */ jsxs31(
|
|
8605
|
+
Box20,
|
|
8785
8606
|
{
|
|
8786
8607
|
padding: 4,
|
|
8787
8608
|
style: i > 0 ? { borderTop: "1px solid rgba(239,68,68,0.2)" } : void 0,
|
|
8788
8609
|
children: [
|
|
8789
|
-
/* @__PURE__ */
|
|
8790
|
-
/* @__PURE__ */
|
|
8791
|
-
/* @__PURE__ */
|
|
8792
|
-
/* @__PURE__ */
|
|
8610
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", justify: "space-between", wrap: "wrap", children: [
|
|
8611
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8612
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: area.feature }),
|
|
8613
|
+
/* @__PURE__ */ jsx43(
|
|
8793
8614
|
"span",
|
|
8794
8615
|
{
|
|
8795
8616
|
style: {
|
|
@@ -8804,7 +8625,7 @@ function WeaknessesList({
|
|
|
8804
8625
|
}
|
|
8805
8626
|
)
|
|
8806
8627
|
] }),
|
|
8807
|
-
/* @__PURE__ */
|
|
8628
|
+
/* @__PURE__ */ jsx43(
|
|
8808
8629
|
"span",
|
|
8809
8630
|
{
|
|
8810
8631
|
style: {
|
|
@@ -8817,8 +8638,8 @@ function WeaknessesList({
|
|
|
8817
8638
|
}
|
|
8818
8639
|
)
|
|
8819
8640
|
] }),
|
|
8820
|
-
/* @__PURE__ */
|
|
8821
|
-
area.invertedRetrievalGap && /* @__PURE__ */
|
|
8641
|
+
/* @__PURE__ */ jsx43(Box20, { paddingTop: 2, children: /* @__PURE__ */ jsxs31(Text32, { muted: true, size: 2, children: [
|
|
8642
|
+
area.invertedRetrievalGap && /* @__PURE__ */ jsxs31("span", { style: { color: "#fbbf24" }, children: [
|
|
8822
8643
|
"Agent does better by NOT finding these docs.",
|
|
8823
8644
|
" "
|
|
8824
8645
|
] }),
|
|
@@ -8833,22 +8654,22 @@ function WeaknessesList({
|
|
|
8833
8654
|
area.feature
|
|
8834
8655
|
)) })
|
|
8835
8656
|
] }),
|
|
8836
|
-
retrievalIssues.length > 0 && /* @__PURE__ */
|
|
8837
|
-
/* @__PURE__ */
|
|
8838
|
-
/* @__PURE__ */
|
|
8839
|
-
/* @__PURE__ */
|
|
8840
|
-
/* @__PURE__ */
|
|
8657
|
+
retrievalIssues.length > 0 && /* @__PURE__ */ jsxs31(Stack26, { space: 3, children: [
|
|
8658
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8659
|
+
/* @__PURE__ */ jsx43(SearchIcon7, { style: { color: "#fbbf24" } }),
|
|
8660
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Retrieval Issues (<70% efficiency)" }),
|
|
8661
|
+
/* @__PURE__ */ jsx43(InfoTip, { text: GLOSSARY.retrievalIssues })
|
|
8841
8662
|
] }),
|
|
8842
|
-
/* @__PURE__ */
|
|
8843
|
-
|
|
8663
|
+
/* @__PURE__ */ jsx43(Box20, { style: sectionStyle("amber"), children: retrievalIssues.map((area, i) => /* @__PURE__ */ jsxs31(
|
|
8664
|
+
Box20,
|
|
8844
8665
|
{
|
|
8845
8666
|
padding: 4,
|
|
8846
8667
|
style: i > 0 ? { borderTop: "1px solid rgba(245,158,11,0.2)" } : void 0,
|
|
8847
8668
|
children: [
|
|
8848
|
-
/* @__PURE__ */
|
|
8849
|
-
/* @__PURE__ */
|
|
8850
|
-
/* @__PURE__ */
|
|
8851
|
-
/* @__PURE__ */
|
|
8669
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", justify: "space-between", wrap: "wrap", children: [
|
|
8670
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8671
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: area.feature }),
|
|
8672
|
+
/* @__PURE__ */ jsx43(
|
|
8852
8673
|
"span",
|
|
8853
8674
|
{
|
|
8854
8675
|
style: {
|
|
@@ -8863,7 +8684,7 @@ function WeaknessesList({
|
|
|
8863
8684
|
}
|
|
8864
8685
|
)
|
|
8865
8686
|
] }),
|
|
8866
|
-
/* @__PURE__ */
|
|
8687
|
+
/* @__PURE__ */ jsx43(
|
|
8867
8688
|
"span",
|
|
8868
8689
|
{
|
|
8869
8690
|
style: {
|
|
@@ -8876,7 +8697,7 @@ function WeaknessesList({
|
|
|
8876
8697
|
}
|
|
8877
8698
|
)
|
|
8878
8699
|
] }),
|
|
8879
|
-
/* @__PURE__ */
|
|
8700
|
+
/* @__PURE__ */ jsx43(Box20, { paddingTop: 2, children: /* @__PURE__ */ jsxs31(Text32, { muted: true, size: 2, children: [
|
|
8880
8701
|
"Actual score (",
|
|
8881
8702
|
Math.round(area.actualScore ?? 0),
|
|
8882
8703
|
") is much lower than ceiling (",
|
|
@@ -8891,21 +8712,21 @@ function WeaknessesList({
|
|
|
8891
8712
|
area.feature
|
|
8892
8713
|
)) })
|
|
8893
8714
|
] }),
|
|
8894
|
-
dimWeaknesses.length > 0 && /* @__PURE__ */
|
|
8895
|
-
/* @__PURE__ */
|
|
8896
|
-
/* @__PURE__ */
|
|
8897
|
-
/* @__PURE__ */
|
|
8898
|
-
/* @__PURE__ */
|
|
8715
|
+
dimWeaknesses.length > 0 && /* @__PURE__ */ jsxs31(Stack26, { space: 3, children: [
|
|
8716
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8717
|
+
/* @__PURE__ */ jsx43(WarningOutlineIcon3, { style: { color: "#fbbf24" } }),
|
|
8718
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Dimension Weaknesses (<50)" }),
|
|
8719
|
+
/* @__PURE__ */ jsx43(InfoTip, { text: GLOSSARY.dimWeaknesses })
|
|
8899
8720
|
] }),
|
|
8900
|
-
/* @__PURE__ */
|
|
8901
|
-
|
|
8721
|
+
/* @__PURE__ */ jsx43(Box20, { style: neutralCardStyle, children: dimWeaknesses.map(({ area, dims }, i) => /* @__PURE__ */ jsxs31(
|
|
8722
|
+
Box20,
|
|
8902
8723
|
{
|
|
8903
8724
|
padding: 4,
|
|
8904
8725
|
style: i > 0 ? dividerStyle : void 0,
|
|
8905
8726
|
children: [
|
|
8906
|
-
/* @__PURE__ */
|
|
8907
|
-
/* @__PURE__ */
|
|
8908
|
-
/* @__PURE__ */
|
|
8727
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, paddingBottom: 2, children: [
|
|
8728
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: area.feature }),
|
|
8729
|
+
/* @__PURE__ */ jsx43(
|
|
8909
8730
|
"span",
|
|
8910
8731
|
{
|
|
8911
8732
|
style: {
|
|
@@ -8920,7 +8741,7 @@ function WeaknessesList({
|
|
|
8920
8741
|
}
|
|
8921
8742
|
)
|
|
8922
8743
|
] }),
|
|
8923
|
-
/* @__PURE__ */
|
|
8744
|
+
/* @__PURE__ */ jsx43(Flex24, { gap: 2, wrap: "wrap", children: dims.map((w) => /* @__PURE__ */ jsx43(HoverTip, { text: w.tip, children: /* @__PURE__ */ jsxs31(
|
|
8924
8745
|
"span",
|
|
8925
8746
|
{
|
|
8926
8747
|
style: {
|
|
@@ -8942,33 +8763,33 @@ function WeaknessesList({
|
|
|
8942
8763
|
area.feature
|
|
8943
8764
|
)) })
|
|
8944
8765
|
] }),
|
|
8945
|
-
regressed.length > 0 && /* @__PURE__ */
|
|
8946
|
-
/* @__PURE__ */
|
|
8947
|
-
|
|
8766
|
+
regressed.length > 0 && /* @__PURE__ */ jsxs31(Box20, { style: neutralCardStyle, children: [
|
|
8767
|
+
/* @__PURE__ */ jsx43(
|
|
8768
|
+
Box20,
|
|
8948
8769
|
{
|
|
8949
8770
|
padding: 4,
|
|
8950
8771
|
style: { borderBottom: "1px solid var(--card-border-color)" },
|
|
8951
|
-
children: /* @__PURE__ */
|
|
8952
|
-
/* @__PURE__ */
|
|
8953
|
-
/* @__PURE__ */
|
|
8772
|
+
children: /* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8773
|
+
/* @__PURE__ */ jsx43(ArrowDownIcon2, { style: { color: "#f87171" } }),
|
|
8774
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Regressed Since Last Run" })
|
|
8954
8775
|
] })
|
|
8955
8776
|
}
|
|
8956
8777
|
),
|
|
8957
|
-
/* @__PURE__ */
|
|
8778
|
+
/* @__PURE__ */ jsx43(Stack26, { children: regressed.map((featureName, i) => {
|
|
8958
8779
|
const area = scores.find((s) => s.feature === featureName);
|
|
8959
8780
|
const areaDelta = perArea?.[featureName];
|
|
8960
|
-
return /* @__PURE__ */
|
|
8961
|
-
|
|
8781
|
+
return /* @__PURE__ */ jsxs31(
|
|
8782
|
+
Flex24,
|
|
8962
8783
|
{
|
|
8963
8784
|
align: "center",
|
|
8964
8785
|
justify: "space-between",
|
|
8965
8786
|
padding: 4,
|
|
8966
8787
|
style: i > 0 ? dividerStyle : void 0,
|
|
8967
8788
|
children: [
|
|
8968
|
-
/* @__PURE__ */
|
|
8969
|
-
/* @__PURE__ */
|
|
8970
|
-
areaDelta != null && /* @__PURE__ */
|
|
8971
|
-
area && /* @__PURE__ */
|
|
8789
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, children: featureName }),
|
|
8790
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 3, children: [
|
|
8791
|
+
areaDelta != null && /* @__PURE__ */ jsx43(DeltaIndicator, { delta: areaDelta, icon: true }),
|
|
8792
|
+
area && /* @__PURE__ */ jsx43(
|
|
8972
8793
|
"span",
|
|
8973
8794
|
{
|
|
8974
8795
|
style: {
|
|
@@ -8990,32 +8811,32 @@ function WeaknessesList({
|
|
|
8990
8811
|
);
|
|
8991
8812
|
}) })
|
|
8992
8813
|
] }),
|
|
8993
|
-
efficiencyAnomalies.length > 0 && /* @__PURE__ */
|
|
8994
|
-
/* @__PURE__ */
|
|
8995
|
-
|
|
8814
|
+
efficiencyAnomalies.length > 0 && /* @__PURE__ */ jsxs31(Box20, { style: neutralCardStyle, children: [
|
|
8815
|
+
/* @__PURE__ */ jsx43(
|
|
8816
|
+
Box20,
|
|
8996
8817
|
{
|
|
8997
8818
|
padding: 4,
|
|
8998
8819
|
style: { borderBottom: "1px solid var(--card-border-color)" },
|
|
8999
|
-
children: /* @__PURE__ */
|
|
9000
|
-
/* @__PURE__ */
|
|
9001
|
-
/* @__PURE__ */
|
|
9002
|
-
/* @__PURE__ */
|
|
9003
|
-
/* @__PURE__ */
|
|
8820
|
+
children: /* @__PURE__ */ jsxs31(Stack26, { space: 2, children: [
|
|
8821
|
+
/* @__PURE__ */ jsxs31(Flex24, { align: "center", gap: 2, children: [
|
|
8822
|
+
/* @__PURE__ */ jsx43(BoltIcon, { style: { color: "#fbbf24" } }),
|
|
8823
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, weight: "medium", children: "Efficiency Anomalies (>100%)" }),
|
|
8824
|
+
/* @__PURE__ */ jsx43(InfoTip, { text: GLOSSARY.efficiencyAnomalies })
|
|
9004
8825
|
] }),
|
|
9005
|
-
/* @__PURE__ */
|
|
8826
|
+
/* @__PURE__ */ jsx43(Text32, { muted: true, size: 2, children: "Agent outperforms injected docs \u2014 may indicate doc quality issues or agent memorization." })
|
|
9006
8827
|
] })
|
|
9007
8828
|
}
|
|
9008
8829
|
),
|
|
9009
|
-
/* @__PURE__ */
|
|
9010
|
-
|
|
8830
|
+
/* @__PURE__ */ jsx43(Stack26, { children: efficiencyAnomalies.map((area, i) => /* @__PURE__ */ jsxs31(
|
|
8831
|
+
Flex24,
|
|
9011
8832
|
{
|
|
9012
8833
|
align: "center",
|
|
9013
8834
|
justify: "space-between",
|
|
9014
8835
|
padding: 4,
|
|
9015
8836
|
style: i > 0 ? dividerStyle : void 0,
|
|
9016
8837
|
children: [
|
|
9017
|
-
/* @__PURE__ */
|
|
9018
|
-
/* @__PURE__ */
|
|
8838
|
+
/* @__PURE__ */ jsx43(Text32, { size: 2, children: area.feature }),
|
|
8839
|
+
/* @__PURE__ */ jsx43(
|
|
9019
8840
|
"span",
|
|
9020
8841
|
{
|
|
9021
8842
|
style: {
|
|
@@ -9043,12 +8864,12 @@ var tipArea = {
|
|
|
9043
8864
|
fontWeight: 600
|
|
9044
8865
|
};
|
|
9045
8866
|
function dimTip(area, dim, score, description) {
|
|
9046
|
-
return /* @__PURE__ */
|
|
9047
|
-
/* @__PURE__ */
|
|
8867
|
+
return /* @__PURE__ */ jsxs31(Text32, { size: 2, style: { lineHeight: 1.5 }, children: [
|
|
8868
|
+
/* @__PURE__ */ jsx43("span", { style: tipArea, children: area }),
|
|
9048
8869
|
" scores",
|
|
9049
8870
|
" ",
|
|
9050
|
-
/* @__PURE__ */
|
|
9051
|
-
/* @__PURE__ */
|
|
8871
|
+
/* @__PURE__ */ jsx43("span", { style: tipValue, children: score }),
|
|
8872
|
+
/* @__PURE__ */ jsx43("span", { style: { color: "var(--card-muted-fg-color)" }, children: "/100" }),
|
|
9052
8873
|
" on",
|
|
9053
8874
|
" ",
|
|
9054
8875
|
dim.toLowerCase(),
|
|
@@ -9077,7 +8898,7 @@ function getDimensionWeaknesses(area) {
|
|
|
9077
8898
|
}
|
|
9078
8899
|
|
|
9079
8900
|
// src/components/report-detail/ReportDetail.tsx
|
|
9080
|
-
import { jsx as
|
|
8901
|
+
import { jsx as jsx44, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
9081
8902
|
var OVERVIEW_TAB = { id: "overview", label: "Overview" };
|
|
9082
8903
|
var DIAGNOSTICS_TAB = { id: "diagnostics", label: "Diagnostics" };
|
|
9083
8904
|
var ACTIVITY_TAB = { id: "activity", label: "Agent Activity" };
|
|
@@ -9113,7 +8934,7 @@ function ReportDetail({
|
|
|
9113
8934
|
}, [client, reportId]);
|
|
9114
8935
|
const { summary } = report ?? {};
|
|
9115
8936
|
const hasWeaknesses = Boolean(
|
|
9116
|
-
summary?.
|
|
8937
|
+
summary?.lowScoringJudgments && summary.lowScoringJudgments.length > 0
|
|
9117
8938
|
);
|
|
9118
8939
|
const hasDiagnostics = Boolean(
|
|
9119
8940
|
summary?.scores && summary.scores.length > 0 || hasWeaknesses
|
|
@@ -9143,11 +8964,11 @@ function ReportDetail({
|
|
|
9143
8964
|
[onTabChange]
|
|
9144
8965
|
);
|
|
9145
8966
|
if (loading) {
|
|
9146
|
-
return /* @__PURE__ */
|
|
8967
|
+
return /* @__PURE__ */ jsx44(LoadingState, { message: "Loading report\u2026" });
|
|
9147
8968
|
}
|
|
9148
8969
|
if (!report || !summary) {
|
|
9149
|
-
return /* @__PURE__ */
|
|
9150
|
-
/* @__PURE__ */
|
|
8970
|
+
return /* @__PURE__ */ jsx44(Box21, { padding: 5, children: /* @__PURE__ */ jsxs32(Stack27, { space: 4, children: [
|
|
8971
|
+
/* @__PURE__ */ jsx44(
|
|
9151
8972
|
Button8,
|
|
9152
8973
|
{
|
|
9153
8974
|
icon: ArrowLeftIcon3,
|
|
@@ -9156,13 +8977,13 @@ function ReportDetail({
|
|
|
9156
8977
|
text: "Back"
|
|
9157
8978
|
}
|
|
9158
8979
|
),
|
|
9159
|
-
/* @__PURE__ */
|
|
8980
|
+
/* @__PURE__ */ jsx44(Text33, { align: "center", muted: true, size: 3, children: "Report not found" })
|
|
9160
8981
|
] }) });
|
|
9161
8982
|
}
|
|
9162
8983
|
const { comparison, provenance } = report;
|
|
9163
8984
|
const totalTests = summary.scores.reduce((n, s) => n + s.testCount, 0);
|
|
9164
|
-
return /* @__PURE__ */
|
|
9165
|
-
/* @__PURE__ */
|
|
8985
|
+
return /* @__PURE__ */ jsx44(Box21, { padding: 4, children: /* @__PURE__ */ jsxs32(Stack27, { space: 5, children: [
|
|
8986
|
+
/* @__PURE__ */ jsx44(
|
|
9166
8987
|
ReportHeader,
|
|
9167
8988
|
{
|
|
9168
8989
|
completedAt: report.completedAt,
|
|
@@ -9171,11 +8992,11 @@ function ReportDetail({
|
|
|
9171
8992
|
title: report.title
|
|
9172
8993
|
}
|
|
9173
8994
|
),
|
|
9174
|
-
/* @__PURE__ */
|
|
9175
|
-
/* @__PURE__ */
|
|
8995
|
+
/* @__PURE__ */ jsxs32(Flex25, { align: "center", gap: 2, wrap: "wrap", children: [
|
|
8996
|
+
/* @__PURE__ */ jsx44(TabList, { space: 1, children: tabs.map((tab) => {
|
|
9176
8997
|
const isDisabled = disabledTabs.has(tab.id);
|
|
9177
8998
|
const tooltip = getDisabledTabTooltip(tab.id, summary);
|
|
9178
|
-
const tabElement = /* @__PURE__ */
|
|
8999
|
+
const tabElement = /* @__PURE__ */ jsx44(
|
|
9179
9000
|
Tab,
|
|
9180
9001
|
{
|
|
9181
9002
|
"aria-controls": `panel-${tab.id}`,
|
|
@@ -9186,27 +9007,27 @@ function ReportDetail({
|
|
|
9186
9007
|
selected: currentTab === tab.id
|
|
9187
9008
|
}
|
|
9188
9009
|
);
|
|
9189
|
-
return isDisabled && tooltip ? /* @__PURE__ */
|
|
9010
|
+
return isDisabled && tooltip ? /* @__PURE__ */ jsx44(
|
|
9190
9011
|
Tooltip8,
|
|
9191
9012
|
{
|
|
9192
|
-
content: /* @__PURE__ */
|
|
9013
|
+
content: /* @__PURE__ */ jsx44(Box21, { padding: 2, style: { maxWidth: 280 }, children: tooltip }),
|
|
9193
9014
|
placement: "bottom",
|
|
9194
9015
|
portal: true,
|
|
9195
|
-
children: /* @__PURE__ */
|
|
9016
|
+
children: /* @__PURE__ */ jsx44("span", { style: { display: "inline-block" }, children: tabElement })
|
|
9196
9017
|
},
|
|
9197
9018
|
tab.id
|
|
9198
|
-
) : /* @__PURE__ */
|
|
9019
|
+
) : /* @__PURE__ */ jsx44("span", { children: tabElement }, tab.id);
|
|
9199
9020
|
}) }),
|
|
9200
|
-
/* @__PURE__ */
|
|
9201
|
-
/* @__PURE__ */
|
|
9021
|
+
/* @__PURE__ */ jsxs32(Flex25, { align: "center", gap: 2, style: { marginLeft: "auto" }, children: [
|
|
9022
|
+
/* @__PURE__ */ jsx44(
|
|
9202
9023
|
HoverTip,
|
|
9203
9024
|
{
|
|
9204
9025
|
text: SOURCE_TIP[provenance.source.name] ?? GLOSSARY.reportMode,
|
|
9205
|
-
children: /* @__PURE__ */
|
|
9026
|
+
children: /* @__PURE__ */ jsx44(Badge7, { mode: "outline", tone: "default", children: provenance.source.name })
|
|
9206
9027
|
}
|
|
9207
9028
|
),
|
|
9208
|
-
/* @__PURE__ */
|
|
9209
|
-
/* @__PURE__ */
|
|
9029
|
+
/* @__PURE__ */ jsx44(HoverTip, { text: MODE_TIP2[provenance.mode] ?? GLOSSARY.reportMode, children: /* @__PURE__ */ jsx44(Badge7, { tone: "primary", children: provenance.mode }) }),
|
|
9030
|
+
/* @__PURE__ */ jsx44(
|
|
9210
9031
|
ReportActions,
|
|
9211
9032
|
{
|
|
9212
9033
|
documentId: report._id,
|
|
@@ -9217,14 +9038,14 @@ function ReportDetail({
|
|
|
9217
9038
|
)
|
|
9218
9039
|
] })
|
|
9219
9040
|
] }),
|
|
9220
|
-
currentTab === "overview" && /* @__PURE__ */
|
|
9041
|
+
currentTab === "overview" && /* @__PURE__ */ jsx44(
|
|
9221
9042
|
TabPanel,
|
|
9222
9043
|
{
|
|
9223
9044
|
"aria-labelledby": "tab-overview",
|
|
9224
9045
|
hidden: currentTab !== "overview",
|
|
9225
9046
|
id: "panel-overview",
|
|
9226
|
-
children: /* @__PURE__ */
|
|
9227
|
-
/* @__PURE__ */
|
|
9047
|
+
children: /* @__PURE__ */ jsxs32(Stack27, { space: 5, children: [
|
|
9048
|
+
/* @__PURE__ */ jsx44(
|
|
9228
9049
|
DiagnosticsOverview,
|
|
9229
9050
|
{
|
|
9230
9051
|
comparison,
|
|
@@ -9235,12 +9056,12 @@ function ReportDetail({
|
|
|
9235
9056
|
totalTests
|
|
9236
9057
|
}
|
|
9237
9058
|
),
|
|
9238
|
-
/* @__PURE__ */
|
|
9239
|
-
/* @__PURE__ */
|
|
9059
|
+
/* @__PURE__ */ jsx44(LineageCard, { provenance, reportId: report.reportId }),
|
|
9060
|
+
/* @__PURE__ */ jsx44(ProvenanceCard, { provenance })
|
|
9240
9061
|
] })
|
|
9241
9062
|
}
|
|
9242
9063
|
),
|
|
9243
|
-
currentTab === "diagnostics" && hasDiagnostics && /* @__PURE__ */
|
|
9064
|
+
currentTab === "diagnostics" && hasDiagnostics && /* @__PURE__ */ jsx44(
|
|
9244
9065
|
DiagnosticsPanel,
|
|
9245
9066
|
{
|
|
9246
9067
|
comparison,
|
|
@@ -9249,18 +9070,17 @@ function ReportDetail({
|
|
|
9249
9070
|
mode: provenance.mode,
|
|
9250
9071
|
onNavigate: (newSubTab, newFocus) => onTabChange("diagnostics", newSubTab, newFocus),
|
|
9251
9072
|
perModel: summary.perModel,
|
|
9252
|
-
recommendations: summary.recommendations,
|
|
9253
9073
|
scores: summary.scores,
|
|
9254
9074
|
subTab
|
|
9255
9075
|
}
|
|
9256
9076
|
),
|
|
9257
|
-
currentTab === "activity" && hasAgentActivity && /* @__PURE__ */
|
|
9077
|
+
currentTab === "activity" && hasAgentActivity && /* @__PURE__ */ jsx44(
|
|
9258
9078
|
TabPanel,
|
|
9259
9079
|
{
|
|
9260
9080
|
"aria-labelledby": "tab-activity",
|
|
9261
9081
|
hidden: currentTab !== "activity",
|
|
9262
9082
|
id: "panel-activity",
|
|
9263
|
-
children: /* @__PURE__ */
|
|
9083
|
+
children: /* @__PURE__ */ jsx44(
|
|
9264
9084
|
AgentActivitySection,
|
|
9265
9085
|
{
|
|
9266
9086
|
agentBehavior: summary.agentBehavior,
|
|
@@ -9286,7 +9106,6 @@ function DiagnosticsPanel({
|
|
|
9286
9106
|
mode,
|
|
9287
9107
|
onNavigate,
|
|
9288
9108
|
perModel,
|
|
9289
|
-
recommendations,
|
|
9290
9109
|
scores,
|
|
9291
9110
|
subTab: subTabParam
|
|
9292
9111
|
}) {
|
|
@@ -9294,9 +9113,9 @@ function DiagnosticsPanel({
|
|
|
9294
9113
|
const issueCount = scores.filter((s) => s.totalScore < SCORE_CAUTION).length + scores.filter((s) => s.negativeDocLift).length + scores.filter(
|
|
9295
9114
|
(s) => s.infrastructureEfficiency != null && s.infrastructureEfficiency < EFFICIENCY_CAUTION && !s.invertedRetrievalGap
|
|
9296
9115
|
).length;
|
|
9297
|
-
return /* @__PURE__ */
|
|
9298
|
-
/* @__PURE__ */
|
|
9299
|
-
|
|
9116
|
+
return /* @__PURE__ */ jsx44(TabPanel, { "aria-labelledby": "tab-diagnostics", id: "panel-diagnostics", children: /* @__PURE__ */ jsxs32(Stack27, { space: 4, children: [
|
|
9117
|
+
/* @__PURE__ */ jsx44(
|
|
9118
|
+
Flex25,
|
|
9300
9119
|
{
|
|
9301
9120
|
align: "center",
|
|
9302
9121
|
gap: 1,
|
|
@@ -9305,7 +9124,7 @@ function DiagnosticsPanel({
|
|
|
9305
9124
|
paddingBottom: 8
|
|
9306
9125
|
},
|
|
9307
9126
|
wrap: "wrap",
|
|
9308
|
-
children: DIAG_TABS.map((tab) => /* @__PURE__ */
|
|
9127
|
+
children: DIAG_TABS.map((tab) => /* @__PURE__ */ jsxs32(
|
|
9309
9128
|
"button",
|
|
9310
9129
|
{
|
|
9311
9130
|
onClick: () => onNavigate(tab.id === "strengths" ? null : tab.id, null),
|
|
@@ -9325,7 +9144,7 @@ function DiagnosticsPanel({
|
|
|
9325
9144
|
type: "button",
|
|
9326
9145
|
children: [
|
|
9327
9146
|
tab.label,
|
|
9328
|
-
tab.id === "issues" && issueCount > 0 && /* @__PURE__ */
|
|
9147
|
+
tab.id === "issues" && issueCount > 0 && /* @__PURE__ */ jsx44(
|
|
9329
9148
|
"span",
|
|
9330
9149
|
{
|
|
9331
9150
|
style: {
|
|
@@ -9345,7 +9164,7 @@ function DiagnosticsPanel({
|
|
|
9345
9164
|
))
|
|
9346
9165
|
}
|
|
9347
9166
|
),
|
|
9348
|
-
subTab === "strengths" && /* @__PURE__ */
|
|
9167
|
+
subTab === "strengths" && /* @__PURE__ */ jsx44(
|
|
9349
9168
|
StrengthsList,
|
|
9350
9169
|
{
|
|
9351
9170
|
comparison,
|
|
@@ -9354,8 +9173,8 @@ function DiagnosticsPanel({
|
|
|
9354
9173
|
scores
|
|
9355
9174
|
}
|
|
9356
9175
|
),
|
|
9357
|
-
subTab === "issues" && /* @__PURE__ */
|
|
9358
|
-
/* @__PURE__ */
|
|
9176
|
+
subTab === "issues" && /* @__PURE__ */ jsxs32(Stack27, { space: 5, children: [
|
|
9177
|
+
/* @__PURE__ */ jsx44(
|
|
9359
9178
|
WeaknessesList,
|
|
9360
9179
|
{
|
|
9361
9180
|
comparison,
|
|
@@ -9364,8 +9183,7 @@ function DiagnosticsPanel({
|
|
|
9364
9183
|
scores
|
|
9365
9184
|
}
|
|
9366
9185
|
),
|
|
9367
|
-
|
|
9368
|
-
judgments && judgments.length > 0 && /* @__PURE__ */ jsx45(
|
|
9186
|
+
judgments && judgments.length > 0 && /* @__PURE__ */ jsx44(
|
|
9369
9187
|
JudgmentList,
|
|
9370
9188
|
{
|
|
9371
9189
|
focus,
|
|
@@ -9399,17 +9217,17 @@ function getDisabledTabTooltip(tabId, summary) {
|
|
|
9399
9217
|
if (!summary) return null;
|
|
9400
9218
|
switch (tabId) {
|
|
9401
9219
|
case "diagnostics":
|
|
9402
|
-
return /* @__PURE__ */
|
|
9220
|
+
return /* @__PURE__ */ jsx44(Text33, { muted: true, size: 2, children: "No diagnostic data available. Diagnostics require at least one scored feature area." });
|
|
9403
9221
|
case "activity":
|
|
9404
|
-
return summary.evaluationMode === "baseline" ? /* @__PURE__ */
|
|
9222
|
+
return summary.evaluationMode === "baseline" ? /* @__PURE__ */ jsxs32(Text33, { muted: true, size: 2, children: [
|
|
9405
9223
|
"Not available for baseline-only evaluations. Run with",
|
|
9406
9224
|
" ",
|
|
9407
|
-
/* @__PURE__ */
|
|
9225
|
+
/* @__PURE__ */ jsx44("code", { style: inlineCodeStyle, children: "--mode full" }),
|
|
9408
9226
|
" or",
|
|
9409
9227
|
" ",
|
|
9410
|
-
/* @__PURE__ */
|
|
9228
|
+
/* @__PURE__ */ jsx44("code", { style: inlineCodeStyle, children: "--mode agentic" }),
|
|
9411
9229
|
" to capture agent browsing behavior."
|
|
9412
|
-
] }) : /* @__PURE__ */
|
|
9230
|
+
] }) : /* @__PURE__ */ jsx44(Text33, { muted: true, size: 2, children: "No agent activity data was recorded for this evaluation." });
|
|
9413
9231
|
default:
|
|
9414
9232
|
return null;
|
|
9415
9233
|
}
|
|
@@ -9417,12 +9235,12 @@ function getDisabledTabTooltip(tabId, summary) {
|
|
|
9417
9235
|
|
|
9418
9236
|
// src/components/report-detail/AreaScoreRow.tsx
|
|
9419
9237
|
import { WarningOutlineIcon as WarningOutlineIcon4 } from "@sanity/icons";
|
|
9420
|
-
import { Box as
|
|
9421
|
-
import { jsx as
|
|
9238
|
+
import { Box as Box22, Flex as Flex26, Stack as Stack28, Text as Text34 } from "@sanity/ui";
|
|
9239
|
+
import { jsx as jsx45, jsxs as jsxs33 } from "react/jsx-runtime";
|
|
9422
9240
|
|
|
9423
9241
|
// src/components/report-detail/AreaScoreTable.tsx
|
|
9424
9242
|
import React4 from "react";
|
|
9425
|
-
import { Card as Card17, Stack as
|
|
9243
|
+
import { Card as Card17, Stack as Stack29, Text as Text36 } from "@sanity/ui";
|
|
9426
9244
|
|
|
9427
9245
|
// src/lib/scoring.ts
|
|
9428
9246
|
var HEX_MAP = {
|
|
@@ -9439,18 +9257,23 @@ function scoreHex(score) {
|
|
|
9439
9257
|
}
|
|
9440
9258
|
|
|
9441
9259
|
// src/components/primitives/ScoreCell.tsx
|
|
9442
|
-
import { Card as Card16, Text as
|
|
9443
|
-
import { jsx as
|
|
9260
|
+
import { Card as Card16, Text as Text35 } from "@sanity/ui";
|
|
9261
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
9444
9262
|
|
|
9445
9263
|
// src/components/report-detail/AreaScoreTable.tsx
|
|
9446
|
-
import { jsx as
|
|
9264
|
+
import { jsx as jsx47, jsxs as jsxs34 } from "react/jsx-runtime";
|
|
9447
9265
|
|
|
9448
9266
|
// src/components/report-detail/ComparisonSummary.tsx
|
|
9449
|
-
import { Badge as Badge8, Box as
|
|
9450
|
-
import { jsx as
|
|
9267
|
+
import { Badge as Badge8, Box as Box23, Card as Card18, Flex as Flex27, Grid as Grid4, Stack as Stack30, Text as Text37, Tooltip as Tooltip9 } from "@sanity/ui";
|
|
9268
|
+
import { jsx as jsx48, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
9451
9269
|
|
|
9452
9270
|
// src/components/report-detail/OverviewStats.tsx
|
|
9453
9271
|
import { Grid as Grid5 } from "@sanity/ui";
|
|
9272
|
+
import { jsx as jsx49, jsxs as jsxs36 } from "react/jsx-runtime";
|
|
9273
|
+
|
|
9274
|
+
// src/components/report-detail/RecommendationsSection.tsx
|
|
9275
|
+
import { BoltIcon as BoltIcon2 } from "@sanity/icons";
|
|
9276
|
+
import { Box as Box24, Flex as Flex28, Stack as Stack31, Text as Text38 } from "@sanity/ui";
|
|
9454
9277
|
import { jsx as jsx50, jsxs as jsxs37 } from "react/jsx-runtime";
|
|
9455
9278
|
|
|
9456
9279
|
// src/components/report-detail/ThreeLayerTable.tsx
|