Skip to content

feat: show full tool input on tool call cards - #36

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-35-tool-card-input
Nov 8, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-35-tool-card-input

Conversation

@johnnyhuy

Copy link
Copy Markdown
Contributor

Tool call cards now keep the full tool input and render it as a separate Input section above Output when expanded. Previously the input was reduced to a one-line summary, edit old/new text was dropped entirely, and unknown tools were truncated to 120 characters.

Part of #2
Closes #35

What changed:

  • timeline.ts keeps a formatted input on each tool entry, from both archived messages and live tool_execution_start events. bash shows the command, read/write/edit show the path plus content or old/new text, and other tools show pretty-printed arguments with no truncation. The header one-line summary is unchanged.
  • The expanded card in WorkbenchControls.tsx renders labelled Input and Output sections. Running, Done, and Failed states and collapsed-by-default behaviour are unchanged.

Verified:

  • bun install --frozen-lockfile passed
  • bun run lint passed, 0 warnings and 0 errors
  • bun run typecheck passed across renderer, main, and preload configs
  • bun run test:unit passed, 71 tests including new keeps full edit input with old and new text and does not truncate long input for other tools
  • bun run test:integration passed, 41 tests including new ToolCard.test.tsx checks that Input and Output render as distinct sections and that a running tool shows Waiting for output
  • mise run build passed
  • bun run test:e2e passed, 43 tests across 5 files against the real Electron app

Proof:

  • Capture method (b) succeeded. A scripted Playwright capture launched the built app against a fixture session containing an edit call, expanded the card, and saved .tmp/proof/tool-card-input.png. The capture log recorded section headings ["Input","Output"] and card text showing the path, Old: const before = 1;, New: const after = 2;, and output Edited app.ts successfully. The screenshot shows the same expanded card in the running app. The PNG is kept under .tmp/proof/ locally and is not committed, matching the scratch-capture rule for this repo.
  • Capture method (a) also succeeded via the full e2e run above.

Known gaps and follow-ups:

@johnnyhuy
johnnyhuy merged commit e430b81 into main Nov 8, 2026
15 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-35-tool-card-input branch November 8, 2026 03:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Show full tool input on tool call cards, split from output

1 participant