fix(agents): unwrap read_agent_context DTO content (#140)
Le contexte projet d'un agent s'affichait "[object Object]" et se
vidait à la réouverture du panneau : read_agent_context renvoie déjà
{content} côté backend, mais les gateways front traitaient la réponse
comme une string brute. Les deux gateways (Tauri + HTTP) unwrap
maintenant .content ; type AgentContextDocument ajouté au domaine.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@ -241,6 +241,43 @@ describe("AgentsPanel (with MockAgentGateway)", () => {
|
||||
});
|
||||
});
|
||||
|
||||
it("reopening the agents panel reloads the saved context as textarea text", async () => {
|
||||
const agent = new MockAgentGateway();
|
||||
await agent.createAgent(PROJECT_ID, {
|
||||
name: "Reopen",
|
||||
profileId: "p1",
|
||||
initialContent: "initial",
|
||||
});
|
||||
const firstRender = renderPanel(agent);
|
||||
await waitForIdle();
|
||||
|
||||
let buttons = screen.getAllByRole("button", { name: /reopen/i });
|
||||
let rowBtn = buttons.find((b) => b.hasAttribute("aria-pressed"))!;
|
||||
fireEvent.click(rowBtn);
|
||||
|
||||
let textarea = await screen.findByLabelText("agent context");
|
||||
fireEvent.change(textarea, { target: { value: "persisted after reopen" } });
|
||||
fireEvent.click(screen.getByRole("button", { name: "Save" }));
|
||||
|
||||
await waitFor(async () => {
|
||||
const agents = await agent.listAgents(PROJECT_ID);
|
||||
await expect(agent.readContext(PROJECT_ID, agents[0].id)).resolves.toBe(
|
||||
"persisted after reopen",
|
||||
);
|
||||
});
|
||||
|
||||
firstRender.unmount();
|
||||
renderPanel(agent);
|
||||
await waitForIdle();
|
||||
|
||||
buttons = screen.getAllByRole("button", { name: /reopen/i });
|
||||
rowBtn = buttons.find((b) => b.hasAttribute("aria-pressed"))!;
|
||||
fireEvent.click(rowBtn);
|
||||
|
||||
textarea = await screen.findByLabelText("agent context");
|
||||
expect((textarea as HTMLTextAreaElement).value).toBe("persisted after reopen");
|
||||
});
|
||||
|
||||
it("deleting an agent removes it from the list", async () => {
|
||||
const agent = new MockAgentGateway();
|
||||
await agent.createAgent(PROJECT_ID, {
|
||||
|
||||
Reference in New Issue
Block a user