Skip to content

feat(trueforge-ui): denser Agents library with usage columns - #1102

Open
innoavator wants to merge 1 commit into
mainfrom
feat/agents-library-dense-listing
Open

innoavator wants to merge 1 commit into
mainfrom
feat/agents-library-dense-listing

Conversation

@innoavator

@innoavator innoavator commented Oct 20, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Densify the Agents library (/library) table: nest creator under the agent name, two-line configuration (model + MCP/skills), and keep schedules + Try.
  • Enrich each visible page with sessions, spend, a 14-day cost sparkline (hover shows day + value), and last run via existing metrics/sessions ports (N+1 per page).
  • Improve MCP/skill hover tooltips into separate sectioned lists.

Test plan

  • Open /library with metrics + sessions enabled and confirm Sessions / Spend / Daily, 14d / Last run columns populate for the current page
  • Hover MCP and skill counts and confirm separate named lists
  • Hover the sparkline and confirm day + spend tooltip, guide line, and point marker
  • Confirm creator nests under the agent name (no separate Created by column)
  • Confirm library still works when metrics/sessions ports are absent (usage columns hidden)
  • Spot-check mobile card layout for the same fields

Made with Cursor


Note

Medium Risk
Adds N+1 metrics/session fetches when the library opens with those servers enabled, which may affect load time on large pages; otherwise UI-only with graceful degradation when ports are missing.

Reviewed by Cursor Bugbot for commit a4db85b. Bugbot is set up for automated code reviews on this repo. Configure here.

Screenshot 2026-10-19 at 21 23 15

Show creator under the name, two-line config with separate MCP/skill
tooltips, and per-page sessions/spend/14d sparkline/last-run from
existing metrics and sessions ports.

Co-authored-by: Cursor <cursoragent@cursor.com>
@changeset-bot

changeset-bot Bot commented Oct 20, 2026

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: a4db85b

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

This PR includes changesets to release 1 package
Name Type
@truefoundry/trueforge-ui 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

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using default effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit a4db85b. Configure here.

if (hours < 24) return `${String(hours)}h ago`;
const days = Math.floor(hours / 24);
return `${String(days)}d ago`;
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Last run treats missing data as never

Medium Severity

formatLastRunAgo maps any missing timestamp to Never, and last-run loading treats failed listSessions calls, unloaded usage, and an empty session list the same way. Sessions and spend already show an em dash when data is unavailable, so last run can claim an agent never ran when the fetch failed or has not finished.

Additional Locations (2)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a4db85b. Configure here.

width={width}
height={height}
viewBox={`0 0 ${String(width)} ${String(height)}`}
className="cursor-crosshair overflow-visible text-teal-700 dark:text-teal-300"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cost sparkline ignores metric tokens

Low Severity

The 14-day cost sparkline is colored with text-teal-700 / dark:text-teal-300 instead of the shared cost metric tokens. Cost meters and cards already use success-bg, so the same spend series no longer matches across library and metrics UI.

Fix in Cursor Fix in Web

Triggered by learned rule: Prefer theme tokens over hardcoded colors

Reviewed by Cursor Bugbot for commit a4db85b. Configure here.

const ms = Date.parse(iso);
if (Number.isNaN(ms)) return iso;
return new Intl.DateTimeFormat(undefined, { month: 'short', day: 'numeric' }).format(new Date(ms));
}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Sparkline day uses local timezone

Medium Severity

formatSparklineDay formats backend UTC day-bucket timestamps with the local calendar. In timezones west of UTC, a midnight UTC point shows as the previous day, so the Daily, 14d hover tooltip names the wrong date.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit a4db85b. Configure here.

This branch has not been deployed

No deployments
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