feat(FN-4057): add printing press built-in plugin entry

Bundled the Printing Press plugin into the dashboard by adding it as a built-in entry in `PluginManager.tsx` with corresponding tests and documentation updates, and included a changeset to publish the change under `@runfusion/fusion`.

Fusion-Task-Id: FN-4057
This commit is contained in:
Fusion
2026-05-11 21:00:27 -07:00
committed by gsxdsm
parent 0056b85668
commit c8d530dec1
4 changed files with 34 additions and 1 deletions

View File

@@ -130,6 +130,13 @@ const BUILTIN_PLUGINS: BuiltinPlugin[] = [
category: "integration",
path: "./plugins/fusion-plugin-whatsapp-chat",
},
{
id: "fusion-plugin-cli-printing-press",
name: "CLI Printing Press",
description: "Guided wizard for drafting external service CLI definitions.",
category: "integration",
path: "./plugins/fusion-plugin-cli-printing-press",
},
{
id: BUILTIN_AGENT_BROWSER_PLUGIN_ID,
name: "Agent Browser",

View File

@@ -268,6 +268,7 @@ describe("PluginManager", () => {
expect(screen.getByText("Droid Runtime")).toBeTruthy();
expect(screen.getByText("Dependency Graph")).toBeTruthy();
expect(screen.getByText("WhatsApp Chat")).toBeTruthy();
expect(screen.getByText("CLI Printing Press")).toBeTruthy();
expect(screen.getByText(/Pairs to WhatsApp Web \(multi-device\) with QR or pairing code/i)).toBeTruthy();
});
@@ -425,6 +426,26 @@ describe("PluginManager", () => {
});
});
it("installs CLI Printing Press from the built-in section", async () => {
render(<PluginManager addToast={addToast} />);
await waitFor(() => {
expect(fetchPlugins).toHaveBeenCalled();
});
const printingPressLabel = await screen.findByText("CLI Printing Press");
const printingPressCard = printingPressLabel.closest(".plugin-builtins-item");
expect(printingPressCard).toBeTruthy();
const installButton = within(printingPressCard as HTMLElement).getByRole("button", { name: /Install CLI Printing Press/i });
await userEvent.click(installButton);
await waitFor(() => {
expect(installPlugin).toHaveBeenCalledWith({ path: "./plugins/fusion-plugin-cli-printing-press" }, undefined);
expect(addToast).toHaveBeenCalledWith("CLI Printing Press installed globally", "success");
});
});
it("renders plugin list when plugins are available", async () => {
vi.mocked(fetchPlugins).mockResolvedValueOnce(mockPlugins);