feat(FN-3565): add plugin management CLI, loader, runner, and dashboard rou
This merge adds a complete plugin management system to Fusion: a new `fn plugin` CLI command for installing/removing plugins, a plugin loader in core, a plugin runner in engine, and dashboard routes for plugin management UI, along with a plugin management guide in docs. It also documents task evalua Fusion-Task-Id: FN-3565
This commit is contained in:
@@ -91,6 +91,8 @@ const commandMocks = vi.hoisted(() => ({
|
||||
runPluginUninstall: vi.fn(),
|
||||
runPluginEnable: vi.fn(),
|
||||
runPluginDisable: vi.fn(),
|
||||
runPluginSetupStatus: vi.fn(),
|
||||
runPluginSetup: vi.fn(),
|
||||
runPluginCreate: vi.fn(),
|
||||
|
||||
runResearchCreate: vi.fn(),
|
||||
@@ -211,6 +213,8 @@ vi.mock("../commands/plugin.js", () => ({
|
||||
runPluginUninstall: commandMocks.runPluginUninstall,
|
||||
runPluginEnable: commandMocks.runPluginEnable,
|
||||
runPluginDisable: commandMocks.runPluginDisable,
|
||||
runPluginSetupStatus: commandMocks.runPluginSetupStatus,
|
||||
runPluginSetup: commandMocks.runPluginSetup,
|
||||
}));
|
||||
|
||||
vi.mock("../commands/plugin-scaffold.js", () => ({
|
||||
@@ -432,7 +436,7 @@ describe("bin command routing and fallbacks", () => {
|
||||
await expect(runBin(["plugin", "oops"])).rejects.toThrow("process.exit:1");
|
||||
expect(errorSpy).toHaveBeenCalledWith("Unknown subcommand: plugin oops");
|
||||
expect(logSpy).toHaveBeenCalledWith(
|
||||
"Try: fn plugin list | install | add (alias for install) | uninstall | enable | disable | create",
|
||||
"Try: fn plugin list | install | add (alias for install) | uninstall | enable | disable | setup-status | setup | create",
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user