fix(web): collapse agent commentary
This commit is contained in:
@@ -468,18 +468,40 @@ describe("structured connection: data flow", () => {
|
||||
},
|
||||
});
|
||||
ws.emit({ type: "reduced_state", state: respondingState });
|
||||
// While the turn is active, the last intermediate text (agent:2) stays
|
||||
// outside the collapsed group so it's visible as current narration.
|
||||
expect(conn.el.querySelector('[data-row-id="agent:2"]')?.closest(".st-tool-group")).toBeNull();
|
||||
// Earlier intermediate text (agent:1) is still inside the group.
|
||||
// Intermediate updates stay inside the collapsed activity disclosure,
|
||||
// rather than becoming a second visible transcript alongside its summary.
|
||||
expect(conn.el.querySelector('[data-row-id="agent:2"]')?.closest(".st-tool-group")).not.toBeNull();
|
||||
expect(conn.el.querySelector('[data-row-id="agent:1"]')?.closest(".st-tool-group")).not.toBeNull();
|
||||
// When the turn ends, all intermediate text is absorbed.
|
||||
// It remains collapsed when the turn ends.
|
||||
ws.emit({ type: "reduced_state", state: idleState });
|
||||
expect(conn.el.querySelector('[data-row-id="agent:2"]')?.closest(".st-tool-group")).not.toBeNull();
|
||||
expect(conn.el.querySelector('[data-row-id="agent:1"]')?.closest(".st-tool-group")).not.toBeNull();
|
||||
conn.dispose();
|
||||
});
|
||||
|
||||
it("collapses trailing thought commentary with a turn's tool activity", () => {
|
||||
const ws = new FakeSocket();
|
||||
const conn = mount({ sockets: [ws] });
|
||||
ws.open();
|
||||
ws.emit({
|
||||
type: "transcript_snapshot",
|
||||
snapshot: {
|
||||
cursor: 5,
|
||||
rows: [
|
||||
row("user:1", "user", { content: { type: "text", text: "do it" } }),
|
||||
toolRow("tool:1", "one"),
|
||||
toolRow("tool:2", "two"),
|
||||
row("thought:1", "agent_thought", { content: { type: "text", text: "Checking the next step" } }),
|
||||
row("thought:2", "agent_thought", { content: { type: "text", text: "Preparing the change" } }),
|
||||
],
|
||||
},
|
||||
});
|
||||
for (const id of ["thought:1", "thought:2"]) {
|
||||
expect(conn.el.querySelector(`[data-row-id="${id}"]`)?.closest(".st-tool-group")).not.toBeNull();
|
||||
}
|
||||
conn.dispose();
|
||||
});
|
||||
|
||||
it("keeps an expanded running tool open without emitting a click when patched", () => {
|
||||
const ws = new FakeSocket();
|
||||
const conn = mount({ sockets: [ws] });
|
||||
|
||||
Reference in New Issue
Block a user