Skip to content

feat: inspect tool input and output independently - #54

Merged
johnnyhuy merged 1 commit into
mainfrom
agent/issue-53-tool-section-disclosures
Nov 12, 2026
Merged

johnnyhuy merged 1 commit into
mainfrom
agent/issue-53-tool-section-disclosures

Conversation

@johnnyhuy

@johnnyhuy johnnyhuy commented Nov 12, 2026 •

Copy link
Copy Markdown
Contributor

Expanded tool cards show output first, with independent Input and Output disclosure controls. Each card retains its choices while virtualised transcript rows recycle, and Copy remains available for closed sections.

Part of #2
Closes #53

Verification

  • bun install --frozen-lockfile passed.
  • mise exec -- bun run lint passed.
  • mise exec -- bun run typecheck passed.
  • mise exec -- bun run test:unit passed, 90 tests.
  • mise exec -- bun run test:integration passed, 60 tests.
  • mise run build passed.
  • mise exec -- bun run test:e2e passed, 47 tests across five Electron suites.
  • git diff --check passed.

Proof

The new Electron test, inspects tool sections independently and retains choices after row recycling, checks initial visibility, Enter and Space activation, exact native clipboard contents, actual row removal from the DOM and restored disclosure choices. New component tests also pass alongside the existing diff, copy and truncation cases.

  • opens output first and toggles input and output independently
  • keeps closed output hidden during streaming and reveals the latest result
  • restores section choices after remounting without changing other cards
  • shows empty input and output explanations when their sections are open
$ mise exec -- bun run test:unit
 Test Files  10 passed (10)
      Tests  90 passed (90)

$ mise exec -- bun run test:integration
 Test Files  11 passed (11)
      Tests  60 passed (60)

$ mise exec -- bun run test:e2e
 Test Files  5 passed (5)
      Tests  47 passed (47)

Playwright captured the running Electron app in .tmp/proof/tool-output-first.png and .tmp/proof/tool-input-restored.png. The E2E suite also writes both images to test-results/long-session/ for the existing pidex-e2e CI artefact upload. Both local images were visually inspected.

The local Electron installation needed its install script rerun with pinned Node 22 before launch. The native browser attachment service is unavailable in this environment, so inline GitHub image attachment is blocked; screenshots are supplied through the CI artefact instead. Captures and scratch logs are excluded from the commit.

Section choices last only while the transcript stays open. Durable reading preferences and richer tool-specific output remain follow-up slices under #2. Pi execution and archive formats are unchanged.

Co-authored-by: OpenAI Codex <noreply@openai.com>
@johnnyhuy
johnnyhuy merged commit 9d3ab24 into main Nov 12, 2026
15 checks passed
@johnnyhuy
johnnyhuy deleted the agent/issue-53-tool-section-disclosures branch November 12, 2026 19:40
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.

Inspect tool input and output independently

1 participant