feat(wave): #119/#122/#131/#132 verts + sprint plugins ESM/persistance #135/#136/#139
État d'intégration confiné à la branche batch. Les tickets #119 (skills → capacités agent découvrables), #122 (override permissions par défaut), #131 (effort par agent/presets) et #132 (outil MCP d'édition du contexte projet) sont verts en périmètre. Le sprint plugins multi-fichiers ESM / persistance plugin-owned (#135/#136/#139) est co-implémenté dans les MÊMES fichiers de câblage (frontend/src/ports/index.ts, backend/src/lib.rs, domain/ports.rs, backend/dto.rs), inséparable sans staging interactif (indisponible ici). Commit unique volontaire : préserve l'état vert QA sans découpe hunk risquée. NON mergé vers develop tant que #137 (QA e2e plugins) n'est pas vert. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@ -139,4 +139,25 @@ describe("TauriAgentGateway invoke payloads", () => {
|
||||
);
|
||||
expect(out.relaunchedSession).toBeUndefined();
|
||||
});
|
||||
|
||||
it("update_agent_effort wraps the nullable effort override in the request DTO", async () => {
|
||||
invoke.mockResolvedValueOnce({ id: "agent-2", effort: { kind: "preset", value: "high" } });
|
||||
await new TauriAgentGateway().updateAgentEffort("proj-1", "agent-2", {
|
||||
kind: "preset",
|
||||
value: "high",
|
||||
});
|
||||
expect(invoke).toHaveBeenCalledWith("update_agent_effort", {
|
||||
request: {
|
||||
projectId: "proj-1",
|
||||
agentId: "agent-2",
|
||||
effort: { kind: "preset", value: "high" },
|
||||
},
|
||||
});
|
||||
|
||||
invoke.mockClear().mockResolvedValueOnce({ id: "agent-2" });
|
||||
await new TauriAgentGateway().updateAgentEffort("proj-1", "agent-2", null);
|
||||
expect(invoke).toHaveBeenCalledWith("update_agent_effort", {
|
||||
request: { projectId: "proj-1", agentId: "agent-2", effort: null },
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user