mirror of
https://github.com/getpaseo/paseo.git
synced 2026-10-30 05:02:58 +00:00
* Add missing monochrome provider icons (kiro, devin, hermes, minimax-code, traecli, grok, deepseek-tui) * fix(app): add Kiro catalog icon and Antigravity builtin icon The ACP catalog's kiro entry had iconId null and no vendored svg, and the native Antigravity provider resolved to the Bot fallback before the daemon snapshot arrived. Vendor the Kiro brand mark, wire iconId, and register a builtin AntigravityIcon matching the plugin's theme-aware icon.svg. * fix(app): keep Kiro eyes in monochrome icon * test(providers): cover catalog artwork and snapshot-free icons Lock down the missing provider marks through the catalog and the shared icon hook. Exercise the rendered catalog artwork in Chromium alongside coverage for the pre-snapshot fallback. Co-authored-by: kevenhu001-cyber <keven.hu001@gmail.com> Co-authored-by: Lu <jack1125516912@outlook.com> * fix(website): preserve unrelated agent directory artwork Drop the unrelated website mark introduced with the provider artwork. Cover the existing directory fallback and retained provider mark in a browser regression. --------- Co-authored-by: kevenhu001-cyber <keven.hu001@gmail.com> Co-authored-by: paseo-bot[bot] <266920839+paseo-bot[bot]@users.noreply.github.com> Co-authored-by: Lu <jack1125516912@outlook.com>
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { expect, test, type Page } from "playwright/test";
|
|
|
|
test("keeps unrelated agent artwork unchanged while adding the Hermes mark", async ({ page }) => {
|
|
await openSupportedAgents(page);
|
|
await expectGenericAgentMark(page, "CodeWhale");
|
|
await expectVendoredAgentMark(page, "Hermes Agent");
|
|
});
|
|
|
|
async function openSupportedAgents(page: Page) {
|
|
await page.goto("/agents");
|
|
await expect(page.getByRole("heading", { level: 1, name: "Supported agents" })).toBeVisible();
|
|
}
|
|
|
|
async function expectGenericAgentMark(page: Page, name: string) {
|
|
const card = page.getByRole("link", { name, exact: true });
|
|
await expect(card).toBeVisible();
|
|
// Decorative SVGs have no accessible role; the fallback is Lucide's bot mark.
|
|
await expect(card.locator("svg.lucide-bot")).toBeVisible();
|
|
}
|
|
|
|
async function expectVendoredAgentMark(page: Page, name: string) {
|
|
const card = page.getByRole("link", { name, exact: true });
|
|
await expect(card).toBeVisible();
|
|
await expect(card.locator("svg")).toBeVisible();
|
|
await expect(card.locator("svg.lucide-bot")).toHaveCount(0);
|
|
}
|