@opena2a/cli-ui
v0.5.0
Published
Shared terminal UI primitives for OpenA2A CLIs (score meter, trust level legend, verdict colors, observations + verdict block, analyst-render, check block, check rich-block (skill+mcp), not-found block, next-steps, version-line, telemetry-command)
Readme
@opena2a/cli-ui
Shared terminal UI primitives for OpenA2A CLIs (ai-trust, hackmyagent, opena2a).
One place to update score meters, dividers, trust level legends, and verdict colors so the three CLIs stay visually consistent.
What's in the box
scoreMeter(value, max?)— full-width colored bar:━━━━━━━━━━━━━━━━━━━━ 87/100miniMeter(value, max?)— compact 8-cell bar for table cellsdivider(label?)— section divider, optionally labeledverdictColor(verdict)/normalizeVerdict(verdict)— collapse registry verdict variants and get a chalk colortrustLevelLabel(0-4)/trustLevelColor(0-4)/trustLevelLegend(current)— render the 5-level trust ladderformatScanAge(timestamp)— "3 days ago" or "120 days ago (stale)"renderObservationsBlock(input)— Surfaces / Checks / Categories / Verdict block for scan output (0.2.0)renderCheckBlock(input)— canonicalcheck <pkg>block: header, verdict, trust level, meter (gated on scanStatus), optional publisher / permissions / revocation / community scans / last-scan rows (0.3.0)renderNotFoundBlock(input)— "package not found" block with did-you-mean suggestions, optional error hint, optional skill-fallback CTA (0.3.0)renderNextSteps(input)— Next-Steps CTAs with primary/default bullet styling (0.3.0)
Usage
import { scoreMeter, divider, trustLevelLegend, verdictColor } from "@opena2a/cli-ui";
console.log(` Trust ${scoreMeter(87)}`);
console.log(divider("Findings"));
console.log(` ${trustLevelLegend(3)}`);Color rules
- Score / meter: green ≥ 70, yellow ≥ 40, red below.
- Trust level: green (3, 4), yellow (1, 2), red (0).
- Verdict: safe → green, warning → yellow, blocked → red, listed → cyan.
