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:
@@ -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 ─────────────────────────────────────────
|
||||
|
||||
@@ -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";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user