import { test } from "../support/fixtures"; import { gotoAppShell, openSettings } from "../support/helpers/app"; import { connectDaemonClient } from "../support/helpers/daemon-client-loader"; import { getServerId } from "../support/helpers/server-id"; import { expectProviderInstalledInSettings, installAcpCatalogProvider, openAddProviderArea, openSettingsHost, openSettingsHostSection, } from "../support/helpers/settings"; const ACP_PROVIDER = { id: "hermes", name: "Hermes", }; interface ProviderCatalogDaemonClient { connect(): Promise; close(): Promise; patchDaemonConfig(config: { removeProviders?: string[] }): Promise; } test.describe("ACP provider catalog", () => { test("adds a catalog provider from settings", async ({ page }) => { const client = await connectDaemonClient({ clientIdPrefix: "provider-catalog-e2e", }); try { await gotoAppShell(page); await openSettings(page); await openSettingsHost(page, getServerId()); await openSettingsHostSection(page, getServerId(), "providers"); await openAddProviderArea(page); await installAcpCatalogProvider(page, ACP_PROVIDER.name); await expectProviderInstalledInSettings(page, ACP_PROVIDER.name); } finally { await client.patchDaemonConfig({ removeProviders: [ACP_PROVIDER.id] }).catch(() => undefined); await client.close().catch(() => undefined); } }); });