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 f22db4d1fe
commit d1549b8dff
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";
}