MCPcopy Create free account
hub / github.com/openai/plugins / renderComparison

Function renderComparison

plugins/plugin-eval/src/renderers/markdown.js:601–652  ·  view source on GitHub ↗
(payload)

Source from the content-addressed store, hash-verified

599}
600
601function renderComparison(payload) {
602 const diff = ensureComparisonPayload(payload);
603 const whyBullets = [
604 `- Score delta: ${diff.scoreDelta >= 0 ? "+" : ""}${diff.scoreDelta}.`,
605 `- Grade moved from ${diff.gradeBefore} to ${diff.gradeAfter}.`,
606 `- Risk moved from ${diff.riskBefore} to ${diff.riskAfter}.`,
607 ];
608
609 if (diff.newFailures.length > 0) {
610 whyBullets.push(`- ${diff.newFailures.length} new failure${diff.newFailures.length === 1 ? "" : "s"} were introduced.`);
611 }
612 if (diff.resolvedFailures.length > 0) {
613 whyBullets.push(`- ${diff.resolvedFailures.length} failure${diff.resolvedFailures.length === 1 ? "" : "s"} were resolved.`);
614 }
615
616 return [
617 `# Plugin Eval Comparison: ${diff.target.name}`,
618 "",
619 section("At a Glance", [
620 `- Score delta: ${diff.scoreDelta >= 0 ? "+" : ""}${diff.scoreDelta}`,
621 `- Grade: ${diff.gradeBefore} -> ${diff.gradeAfter}`,
622 `- Risk: ${diff.riskBefore} -> ${diff.riskAfter}`,
623 `- Budget delta (trigger/invoke/deferred): ${diff.budgetDelta.trigger_cost_tokens >= 0 ? "+" : ""}${diff.budgetDelta.trigger_cost_tokens} / ${diff.budgetDelta.invoke_cost_tokens >= 0 ? "+" : ""}${diff.budgetDelta.invoke_cost_tokens} / ${diff.budgetDelta.deferred_cost_tokens >= 0 ? "+" : ""}${diff.budgetDelta.deferred_cost_tokens}`,
624 ]),
625 "",
626 section("Why It Matters", whyBullets),
627 "",
628 section(
629 "Fix First",
630 diff.newFailures.length > 0
631 ? diff.newFailures.map((item) => `- New failure: ${item}`)
632 : ["- No new failures were introduced."],
633 ),
634 "",
635 section("Recommended Next Step", renderNextAction(diff.nextAction)),
636 "",
637 section("Details", [
638 detailsBlock(
639 "Resolved failures",
640 diff.resolvedFailures.length > 0
641 ? diff.resolvedFailures.map((item) => `- ${item}`).join("\n")
642 : "- No resolved failures.",
643 ),
644 detailsBlock(
645 "New failures",
646 diff.newFailures.length > 0
647 ? diff.newFailures.map((item) => `- ${item}`).join("\n")
648 : "- No new failures.",
649 ),
650 ]),
651 ].join("\n");
652}
653
654export function renderMarkdown(payload) {
655 if (payload.kind === "comparison") {

Callers 1

renderMarkdownFunction · 0.85

Calls 5

ensureComparisonPayloadFunction · 0.85
detailsBlockFunction · 0.85
mapMethod · 0.80
sectionFunction · 0.70
renderNextActionFunction · 0.70

Tested by

no test coverage detected