feat(plugins): paramètres projet plugins + attribution skills/tools aux agents — #282 (manifeste accepte contributes.skills IdeA-native multi-harness; store .ideai/project-plugins.json v1: enable plugin par projet + assignments skills/tools par agent; refs + use cases settings/assign/unassign; resolver skills pour idea_skill_read et injection catalogue lancement agent; permissions MCP dynamiques projetées par harness Claude Code/Codex/OpenCode; tombstones uninstall, hot reload recalcule catalogue et marque assignments cassés; frontend: Settings projet Plugins, détail capabilities, attribution agent, catalogue permissions; bump pointeur IdeaSDK 6eb8db3; QA verte: cargo test -p application, project_plugin_settings 3/3, dto_plugins 2/2, structured_launch_d3 26/26, catalogue mcp 7/7, frontend 5 tests ProjectPluginSettings/plugin, npm build frontend)
This commit is contained in:
@ -47,4 +47,39 @@ describe("TauriPluginGateway invoke payloads", () => {
|
||||
expect(review.issues).toEqual([]);
|
||||
expect(review.installable).toBe(true);
|
||||
});
|
||||
|
||||
it("uses the project-plugin command envelopes", async () => {
|
||||
const gateway = new TauriPluginGateway();
|
||||
await gateway.listProjectSettings("project-1");
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_list_project_settings", {
|
||||
projectId: "project-1",
|
||||
});
|
||||
|
||||
const projectInput = { projectId: "project-1", pluginId: "dev.acme.unity", enabled: true };
|
||||
await gateway.setProjectEnabled(projectInput);
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_set_project_enabled", { input: projectInput });
|
||||
|
||||
const skillInput = {
|
||||
projectId: "project-1",
|
||||
agentId: "agent-1",
|
||||
pluginId: "dev.acme.unity",
|
||||
skillId: "unity.debug",
|
||||
};
|
||||
await gateway.assignAgentSkill(skillInput);
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_assign_agent_skill", { input: skillInput });
|
||||
await gateway.unassignAgentSkill(skillInput);
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_unassign_agent_skill", { input: skillInput });
|
||||
|
||||
const toolInput = {
|
||||
projectId: "project-1",
|
||||
agentId: "agent-1",
|
||||
pluginId: "dev.acme.unity",
|
||||
serverId: "unity-tools",
|
||||
toolName: "unity_build",
|
||||
};
|
||||
await gateway.assignAgentTool(toolInput);
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_assign_agent_tool", { input: toolInput });
|
||||
await gateway.unassignAgentTool(toolInput);
|
||||
expect(invoke).toHaveBeenLastCalledWith("plugin_unassign_agent_tool", { input: toolInput });
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user