Skip to content

performance of test suites#3137

Merged
shagun-singh-inkeep merged 3 commits intomainfrom
dataset-fast
Apr 15, 2026
Merged

performance of test suites#3137
shagun-singh-inkeep merged 3 commits intomainfrom
dataset-fast

Conversation

@shagun-singh-inkeep
Copy link
Copy Markdown
Collaborator

No description provided.

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 15, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
agents-api Ready Ready Preview, Comment Apr 15, 2026 6:19pm
agents-docs Ready Ready Preview, Comment Apr 15, 2026 6:19pm
agents-manage-ui Ready Ready Preview, Comment Apr 15, 2026 6:19pm

Request Review

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Apr 15, 2026

🦋 Changeset detected

Latest commit: 1cc21f9

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 10 packages
Name Type
@inkeep/agents-manage-ui Patch
@inkeep/agents-api Patch
@inkeep/agents-cli Patch
@inkeep/agents-core Patch
@inkeep/agents-email Patch
@inkeep/agents-mcp Patch
@inkeep/agents-sdk Patch
@inkeep/agents-work-apps Patch
@inkeep/ai-sdk-provider Patch
@inkeep/create-agents Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

This public PR was merged directly in the public repo. The matching monorepo PR was left open for manual follow-up because agents-private remains the source of truth.

Matching internal PR: #99

@pullfrog
Copy link
Copy Markdown
Contributor

pullfrog Bot commented Apr 15, 2026

TL;DR

Replaces heavy ExpandableJsonEditor (Monaco-based) with a lightweight ReadOnlyJsonView component (Streamdown markdown renderer) for all read-only JSON cells in dataset items and evaluation results — improving render performance for large tables.

Key changes

New ReadOnlyJsonView component

agents-manage-ui/src/components/editors/read-only-json-view.tsx (new file)

Introduces a minimal read-only JSON viewer that wraps the value in a fenced json code block and renders it with Streamdown. Accepts className and maxHeight (default 200px) props. This avoids the overhead of spinning up a full Monaco editor instance for every read-only cell.

Dataset items table — swap editor for lightweight viewer

agents-manage-ui/src/components/dataset-items/dataset-items-table.tsx

  • Replaces ExpandableJsonEditor import with ReadOnlyJsonView.
  • Renames the inline ReadOnlyEditor component to ReadOnlyJsonCell and strips the now-unnecessary name prop.
  • Input and Expected Output columns render ReadOnlyJsonCell instead of the Monaco-backed editor.

Evaluation job results — same swap

agents-manage-ui/src/components/evaluation-jobs/evaluation-job-results.tsx

  • OutputCollapsible and MetadataCollapsible drop the unused resultId prop and render ReadOnlyJsonView (with maxHeight="300px") instead of ExpandableJsonEditor.
  • Call sites simplified accordingly.

Evaluation run config results — same swap

agents-manage-ui/src/components/evaluation-run-configs/evaluation-run-config-results.tsx

Identical change to the evaluation-job-results file — OutputCollapsible and MetadataCollapsible migrated from ExpandableJsonEditor to ReadOnlyJsonView.


Changeset: @inkeep/agents-manage-ui patch — "Improve performance of datasets and evaluation results loading"

Pullfrog  | View workflow run | Triggered by Pullfrog | Using Claude Opus𝕏

@vercel vercel Bot temporarily deployed to Preview – agents-docs April 15, 2026 17:50 Inactive
Copy link
Copy Markdown
Contributor

@pullfrog pullfrog Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good change — replacing Monaco Editor with Streamdown for read-only JSON views is a meaningful performance win, especially in dataset tables where many instances can be rendered simultaneously. The new ReadOnlyJsonView component is clean and well-scoped. No blocking issues.

Pullfrog  | View workflow run | Using Claude Opus𝕏

className,
maxHeight = '200px',
}) => {
const markdown = `\`\`\`json\n${value}\n\`\`\``;
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: if value is ever "undefined" (from JSON.stringify(undefined)), this renders a code block containing the literal text undefined. The callers today guard against this, but since this is a reusable component you may want to handle the edge case — e.g. early-return with an empty state or default to "null".

)}
style={{ maxHeight }}
>
<Streamdown>{markdown}</Streamdown>
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Streamdown is designed for streaming markdown rendering. For a static, pre-computed string like this, it adds overhead (streaming parser, incremental DOM updates) that a simpler syntax-highlighted <pre> block wouldn't. Consider whether a lighter alternative like shiki (already common in the ecosystem) or even a plain <code> block with a JSON highlight pass would be more appropriate for a purely static read-only view. That said, Streamdown is already used widely in this codebase, so the consistency argument is reasonable — just flagging the tradeoff.

Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review Summary

(0) Total Issues | Risk: Low

This is a clean, focused performance optimization that replaces heavy Monaco-based ExpandableJsonEditor components with a lightweight ReadOnlyJsonView component using Streamdown for read-only JSON display contexts. The refactoring is correct and follows existing codebase patterns.

🔴❗ Critical (0) ❗🔴

None.

🟠⚠️ Major (0) 🟠⚠️

None.

🟡 Minor (0) 🟡

None.

💭 Consider (1) 💭

💭 1) read-only-json-view.tsx:20-27 Keyboard accessibility for scrollable region

Issue: The scrollable container uses overflow-auto but lacks tabIndex={0} for keyboard focus.

Why: Users navigating with keyboard cannot scroll JSON content that overflows. This is a WCAG 2.1.1 consideration for scrollable containers. However, this pattern is consistent with other overflow-auto usages across the codebase — it's not a regression introduced by this PR.

Fix: Optionally add tabIndex={0} and role="region" with an aria-label, but this is a codebase-wide pattern that could be addressed separately.


✅ APPROVE

Summary: This is a well-executed performance optimization. The new ReadOnlyJsonView component is appropriately lightweight, uses Streamdown consistently with other parts of the codebase, and the refactoring correctly removes Monaco overhead where editing is not needed. The changeset is properly scoped. Ship it! 🚀

Discarded (5)
Location Issue Reason Discarded
read-only-json-view.tsx:18 Markdown string recreated on render React Compiler handles optimization; LOW confidence finding
read-only-json-view.tsx:27 Inline style for maxHeight Pragmatic for dynamic values; Tailwind arbitrary values would be less readable
read-only-json-view.tsx:13 "View" suffix instead of "Editor" Intentional naming to distinguish read-only from editable components
read-only-json-view.tsx:8 Value prop expects pre-formatted string Matches existing ExpandableJsonEditor pattern
evaluation-job-results.tsx Duplicate OutputCollapsible/MetadataCollapsible Pre-existing duplication not introduced by this PR
Reviewers (3)
Reviewer Returned Main Findings Consider While You're Here Inline Comments Pending Recs Discarded
pr-review-frontend 3 0 1 0 0 0 2
pr-review-consistency 3 0 0 0 0 0 3
pr-review-standards 0 0 0 0 0 0 0
Total 6 0 1 0 0 0 5

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 15, 2026

Preview URLs

Use these stable preview aliases for testing this PR:

These point to the same Vercel preview deployment as the bot comment, but they stay stable and easier to find.

Raw Vercel deployment URLs

@shagun-singh-inkeep shagun-singh-inkeep marked this pull request as draft April 15, 2026 18:08
@shagun-singh-inkeep shagun-singh-inkeep marked this pull request as ready for review April 15, 2026 18:08
Copy link
Copy Markdown
Contributor

@pullfrog pullfrog Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean, well-scoped performance improvement. Replacing per-row Monaco editor instances with a lightweight Streamdown-based markdown renderer for read-only JSON display is the right call — Monaco is far too heavy for static content in table cells and collapsibles. Streamdown is already an existing dependency with established usage patterns across the codebase, and ExpandableJsonEditor remains intact for its 5 editable consumers. No issues found.

Pullfrog  | View workflow run | Using Claude Opus𝕏

Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review Summary

(0) Total Issues | Risk: Low

This is a clean, focused performance optimization that replaces heavy Monaco-based ExpandableJsonEditor components with a lightweight ReadOnlyJsonView component using Streamdown for read-only JSON display contexts. The implementation is correct, follows existing codebase patterns, and the refactoring is well-scoped.

🔴❗ Critical (0) ❗🔴

None.

🟠⚠️ Major (0) 🟠⚠️

None.

🟡 Minor (0) 🟡

None.

💭 Consider (1) 💭

💭 1) .changeset/red-flowers-beg.md More descriptive changeset message

Issue: The changeset message "improve performance of dataset loading" is functional but could be more specific about what changed.

Why: Per AGENTS.md guidance, changelog messages should help consumers understand what changed. A more descriptive message would clarify: (1) what was replaced (Monaco Editor), (2) what replaced it (Streamdown), and (3) the scope (datasets + evaluation results).

Fix: Consider updating to: "Replace Monaco Editor with lightweight Streamdown for read-only JSON display in datasets and evaluation results, improving render performance"

Refs: AGENTS.md changeset guidelines


✅ APPROVE

Summary: This is a well-executed performance optimization. The new ReadOnlyJsonView component is appropriately lightweight, uses Streamdown consistently with other parts of the codebase, and the refactoring correctly removes Monaco overhead where editing is not needed. The changeset is properly scoped. Ship it! 🚀

Discarded (2)
Location Issue Reason Discarded
read-only-json-view.tsx:13 Export pattern (const FC vs function) inconsistent with ExpandableJsonEditor ReadOnlyJsonView actually follows the majority pattern in the editors directory; the inconsistency is in ExpandableJsonEditor (pre-existing, out of scope)
Various All prior review findings (accessibility, undefined handling, Streamdown overhead, etc.) Already raised in prior reviews — cannot re-raise per No Duplication Principle
Reviewers (3)
Reviewer Returned Main Findings Consider While You're Here Inline Comments Pending Recs Discarded
pr-review-frontend 0 0 0 0 0 0 0
pr-review-standards 1 0 1 0 0 0 0
pr-review-consistency 1 0 0 0 0 0 1
Total 2 0 1 0 0 0 1

Note: This is a re-review with no new commits since the prior automated review. All prior findings have been excluded per the No Duplication Principle.

@github-actions github-actions Bot deleted a comment from claude Bot Apr 15, 2026
Copy link
Copy Markdown
Contributor

@claude claude Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR Review Summary

(0) Total Issues | Risk: Low

Delta Review

This is a re-review scoped to changes since the last automated review (fa6a7d81cbfb). The only change is an improved changeset message:

-improve performance of dataset loading
+Improve performance of datasets and evaluation results loading 

This update:

  • ✅ Fixes sentence casing (per AGENTS.md guidelines)
  • ✅ Expands scope to accurately reflect that both datasets AND evaluation results are affected
  • ✅ Addresses feedback from the prior review suggesting a more descriptive message

🔴❗ Critical (0) ❗🔴

None.

🟠⚠️ Major (0) 🟠⚠️

None.

🟡 Minor (0) 🟡

None.


✅ APPROVE

Summary: The delta consists solely of an improved changeset message that addresses prior review feedback. The core implementation (replacing Monaco Editor with Streamdown for read-only JSON views) was already approved in the previous review. Ship it! 🚀

Reviewers (0)
Reviewer Returned Main Findings Consider While You're Here Inline Comments Pending Recs Discarded
Total 0 0 0 0 0 0 0

Note: Delta-only review — no sub-reviewers dispatched as the only change is a changeset message update.

@github-actions github-actions Bot deleted a comment from claude Bot Apr 15, 2026
@shagun-singh-inkeep shagun-singh-inkeep added this pull request to the merge queue Apr 15, 2026
Merged via the queue into main with commit 3a85412 Apr 15, 2026
27 checks passed
@shagun-singh-inkeep shagun-singh-inkeep deleted the dataset-fast branch April 15, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant