feat(FN-3576): restore plugin setting group field and grouped agent browser

This merge restores plugin setting group functionality in the dashboard (FN-3576), adds documentation for plugin authoring, and improves test isolation by broadening runtime ignore lists for live fusion app paths in the isolation checker script. The feature touches the PluginManager component with n

Fusion-Task-Id: FN-3576
This commit is contained in:
Fusion
2026-05-06 14:47:13 -07:00
committed by gsxdsm
parent a1ec43d580
commit 2858a0b0b5
6 changed files with 202 additions and 8 deletions

View File

@@ -148,6 +148,21 @@ describe("validatePluginManifest", () => {
expect(result.valid).toBe(true);
expect(result.errors).toEqual([]);
});
it("accepts settings schema entries with optional group metadata", () => {
const manifest = {
id: "test",
name: "Test",
version: "1.0.0",
settingsSchema: {
enabled: { type: "boolean", group: "General" },
timeoutMs: { type: "number", group: "Browser" },
},
};
const result = validatePluginManifest(manifest);
expect(result.valid).toBe(true);
expect(result.errors).toEqual([]);
});
});
// ── Missing Required Fields ─────────────────────────────────────────

View File

@@ -73,6 +73,8 @@ export interface PluginSettingSchema {
enumValues?: string[];
/** Only when type is "string" - renders as textarea when true */
multiline?: boolean;
/** Optional UI grouping label used by settings forms */
group?: string;
/** Only when type is "array" - type of items in the array */
itemType?: "string" | "number";
}