Compare commits

...
3 Commits
Author SHA1 Message Date
Miguel PalhasandClaude Opus 4.6 17a57269f7 fix(maestro): satisfy field_reassign_with_default lint
ci / rust (push) Successful in 9m13s
ci / web (push) Failing after 7s
ci / flake (push) Successful in 3m56s
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-07 10:47:07 +01:00
Miguel Palhas 6ffbca3596 Merge remote-tracking branch 'origin/main' into recorder-2 2026-09-07 10:41:59 +01:00
Miguel PalhasandClaude Opus 4.6 2cde58b42f fix(web): compact tool-call groups in structured view
Drop the per-tool name list from group headers (redundant with the rows
below), remove individual borders inside groups, and tighten padding so
20-tool blocks scan as a dense list instead of a wall of cards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-09-07 10:41:55 +01:00
3 changed files with 25 additions and 28 deletions
+9 -7
View File
@@ -671,13 +671,15 @@ mod tests {
#[test] #[test]
fn selecting_a_rendered_line_selects_its_whole_block() { fn selecting_a_rendered_line_selects_its_whole_block() {
let mut state = StructuredState::default(); let mut state = StructuredState {
state.line_rows = vec![ line_rows: vec![
Some("one".into()), Some("one".into()),
Some("one".into()), Some("one".into()),
None, None,
Some("two".into()), Some("two".into()),
]; ],
..Default::default()
};
assert!(state.select_rendered_line(1)); assert!(state.select_rendered_line(1));
assert_eq!(state.selected.as_deref(), Some("one")); assert_eq!(state.selected.as_deref(), Some("one"));
+1 -8
View File
@@ -594,14 +594,7 @@ export function buildToolGroup(
glyph.setAttribute("aria-hidden", "true"); glyph.setAttribute("aria-hidden", "true");
const title = el("span", "st-tool-group-title"); const title = el("span", "st-tool-group-title");
title.textContent = `${rows.length} tool calls`; title.textContent = `${rows.length} tool calls`;
const names = el("span", "st-tool-group-names"); head.append(glyph, title);
names.textContent = rows
.map((row) => {
const tool = (row.data ?? {}) as AcpToolCallLike;
return splitToolTitle(tool.title, tool.name, tool.kind).label;
})
.join(" · ");
head.append(glyph, title, names);
const body = el("div", "st-tool-group-body st-disclosure"); const body = el("div", "st-tool-group-body st-disclosure");
const bodyClip = el("div", "st-disclosure-clip"); const bodyClip = el("div", "st-disclosure-clip");
+15 -13
View File
@@ -2828,12 +2828,12 @@ input.leaf-rename:focus {
border: 1px solid var(--border); border: 1px solid var(--border);
border-radius: var(--r-2); border-radius: var(--r-2);
background: color-mix(in oklab, var(--surface-2) 55%, transparent); background: color-mix(in oklab, var(--surface-2) 55%, transparent);
padding: var(--sp-2) var(--sp-3); padding: var(--sp-1) var(--sp-2);
transition: background var(--dur-fast) var(--ease-out); transition: background var(--dur-fast) var(--ease-out);
} }
.st-tool-group:hover { .st-tool-group:hover {
background: var(--surface-2); background: color-mix(in oklab, var(--surface-2) 70%, transparent);
} }
.st-tool-group-head { .st-tool-group-head {
@@ -2870,15 +2870,6 @@ input.leaf-rename:focus {
font-weight: 500; font-weight: 500;
} }
.st-tool-group-names {
min-width: 0;
overflow: hidden;
color: var(--muted);
text-align: left;
text-overflow: ellipsis;
white-space: nowrap;
}
.st-tool-group-body { .st-tool-group-body {
padding-top: 0; padding-top: 0;
} }
@@ -2886,11 +2877,22 @@ input.leaf-rename:focus {
.st-tool-group-body .st-disclosure-inner { .st-tool-group-body .st-disclosure-inner {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
padding-top: var(--sp-2); padding-top: var(--sp-1);
} }
.st-tool-group-body .st-disclosure-inner > .st-row-tool { .st-tool-group-body .st-disclosure-inner > .st-row-tool {
padding: var(--sp-1) 0; padding: 0;
}
/* inside a group, tool cards lose their border and background —
the group container already provides the visual boundary. */
.st-tool-group-body .st-tool {
border: 0;
}
.st-tool-group-body .st-tool-head {
padding: var(--sp-1) var(--sp-2);
border-radius: var(--r-1);
} }
.st-tool-group-body[hidden] { .st-tool-group-body[hidden] {