Repository navigation
feat: inspect the end of long tool output - #67
Merged
Merged
Conversation
Add bounded beginning and end previews with character counts, retaining full expansion and exact copying. Follow streamed output at the end and preserve that choice while transcript rows are recycled. Co-authored-by: OpenAI Codex <[email protected]>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Long tool output now offers a bounded end preview, so final errors and completion messages can be inspected without expanding the entire result. The card shows preview character counts, follows appended output at the end, remembers that choice while scrolling, and retains full expansion and exact copying.
Part of #2.
Closes #66.
Verification
bun install --frozen-lockfilepassed.mise exec -- bun run lintpassed.mise exec -- bun run typecheckpassed.mise exec -- bun run test:unitpassed, 90 tests.mise exec -- bun run test:integrationpassed, 83 tests.mise run buildpassed, including the production bundle.git diff --checkpassed.The shell defaults to Node 26, which fails existing settings tests because its global localStorage is unavailable. The pinned mise Node 22 toolchain passes the complete suite.
Proof
Local app launch and capture are blocked by the incomplete Electron runtime installation. Hosted macOS Playwright capture succeeded on final commit
03dbf17; all 55 Electron tests passed across seven suites.The desktop capture shows the final build error with the last 2,000 of 4,717 characters visible and the beginning/full-output controls. The narrow capture shows the same result at the native 900 by 600 minimum window size. The desktop window is 1280 by 677, clamped to the hosted display. Both PNGs were downloaded and visually reviewed, and are saved locally under
.tmp/proof/without being committed.Inline screenshots were uploaded through native Firefox after browser automation host discovery failed.
New component coverage
inspects a failed output ending, expands the full result and copies it exactlyfollows appended output in the end preview and keeps that choice through row recyclingshows %i output characters in full without preview controlsat 1,999 and 2,000 characterskeeps long input at the beginning when output uses an end previewThe new Electron test is
inspects the end of failed output with bounded text, exact copying and keyboard controls. It captures desktop and native minimum-window screenshots under.tmp/proof/and the uploadedtest-results/tool-preview/artefact directory.Input previews retain their existing controls. End preview selection survives row recycling within a transcript; reopening a transcript resets it. A single fully expanded result still renders as one row. Other tool-card work remains under #2.