chantier: durcissement reprise headless inter-projets + persistance profils Opencode

- Implémentation reprise de session Opencode headless (conversational_recovery)
- Persistance des profils IA Opencode dans .ideai/memory avec JSON Schema
- Gestion des permissions MCP pour agents externes
- Tests QA verts : structured_launch_d3, conversation_log, tickets_missing_carnet, agents, ProfilesSettings
This commit is contained in:
2026-07-28 12:23:34 +02:00
parent 78f7c8fe2d
commit 045e0984cc
15 changed files with 782 additions and 49 deletions

View File

@ -364,6 +364,21 @@ describe("AgentsPanel (with MockAgentGateway)", () => {
const options = Array.from(select.options).map((o) => o.text);
expect(options).toContain("Claude Code");
});
it("shows persisted OpenCode profiles in the agent profile dropdown", async () => {
const profile = new MockProfileGateway();
const openCode = await profile.cloneOpenCodeProfileFromSeed({
name: "OpenCode Local Durable",
});
await profile.saveProfile(openCode);
renderPanel(new MockAgentGateway(), profile);
await waitForIdle();
const select = screen.getByLabelText("agent profile") as HTMLSelectElement;
const options = Array.from(select.options).map((o) => o.text);
expect(options.some((text) => text.includes("OpenCode Local Durable"))).toBe(true);
});
});
// ---------------------------------------------------------------------------