feat: synchronize PTY terminal interactions - #182
Merged
Conversation
Adding .gitkeep for PR creation (default mode). This file will be removed when the task is complete. Issue: #174
konard
marked this pull request as ready for review
July 25, 2026 16:31
Member
Author
Working session summaryImplemented and finalized PR #182. Key changes:
Verification:
This summary was automatically extracted from the AI working session output. |
Member
Author
🤖 Solution Draft LogThis log file contains the complete execution trace of the AI solution draft process. 💰 Cost estimation:
📊 Context and tokens usage:
Total: (180.5K + 7.8M cached) input tokens, 19.2K output tokens, $10.424061 cost 🤖 Models used:
📎 Log file uploaded as Gist (2213KB)Now working session is ended, feel free to review and add any feedback on the solution draft. |
Member
Author
🎉 Auto-mergedThis pull request has been automatically merged by hive-mind.
Auto-merged by hive-mind with --auto-merge flag |
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.
Closes #174.
Reproduction
The PTY capture layer added in #176 could send raw input and resize a terminal,
but interaction readiness accepted literal substrings only and applied the next
key immediately. Agentic TUIs repaint asynchronously, so tests could race a
partial render and had no built-in regex or quiescence synchronization.
The new JavaScript regression starts a raw-mode TTY, emits a delayed readiness
marker, and verifies that a raw Down-arrow sequence is not sent until the regex
matches and output has remained idle. The Rust terminal test exercises the
equivalent regex and idle controls.
Changes
RegExpreadiness markers and Rustafter_regexpatternsidleMilliseconds/idle_durationquiescence waits thatrestart whenever PTY output arrives
behavior in both implementations
that navigates to
web_searchand asserts on captured outputVerification
PATH=<jq-bin> bun run test— 783 passed, 5 skipped, 0 failedbun run checkbun js/examples/tui-e2e.mjscargo test --manifest-path rust/Cargo.toml --all-featurescargo clippy --manifest-path rust/Cargo.toml --all-targets --all-featurescargo fmt --manifest-path rust/Cargo.toml --all -- --checkcargo package --manifest-path rust/Cargo.toml --allow-dirtyBASE_REF=main bash .github/scripts/check-language-parity.sh