Uh oh!
There was an error while loading. Please reload this page.
feat(tool): add interactive terminal tool with persistent PTY sessions - #41554
feat(tool): add interactive terminal tool with persistent PTY sessions#41554herjarsa wants to merge 5 commits into
Conversation
- Subscribe to pty.created events in TerminalContext - Add deduplication to avoid duplicate sessions - Auto-open terminal panel when agent creates a PTY session - Set agent session as active tab when created Closes Phase 2 of anomalyco#23449 # Conflicts: # packages/app/src/context/terminal.tsx
- Remove duplicated -l args in pty.create() calls (Pty.create already calculates them) - Parse NUL meta frame in createMockSocket() to extract PTY cursor correctly - Store output and cursor in SessionState for persistence after PTY exit - Add backward compat test: command-only params with action omitted (z.preprocess) - Remove duplicated focus effect in terminal-panel.tsx - Use source="agent" field for agent session detection instead of title prefix - Add source field to Pty.Info and CreateInput schemas # Conflicts: # packages/opencode/src/pty/index.ts
This PR doesn't fully meet our contributing guidelines and PR template. What needs to be fixed:
Please edit this PR description to address the above within 2 hours, or it will be automatically closed. If you believe this was flagged incorrectly, please let a maintainer know. |
The following comment was made by an LLM, it may be inaccurate: I found one potentially related PR: Related PR Found:
|
This pull request has been automatically closed because it was not updated to meet our contributing guidelines within the 2-hour window. Feel free to open a new pull request that follows our guidelines. |
Issue for this PR
Closes#23759
Type of change
What does this PR do?
Adds an interactive terminal tool with persistent PTY sessions, rebased onto current
dev. This is a clean rebase of #23794 (originally 1812 commits divergent), containing only the 5 logical commits:feat(tool): add interactive terminal tool with persistent PTY sessionsfeat(terminal): surface agent-created PTY sessions in Desktop UIfix(terminal): address PR #23794 review feedback from egdev6fix(terminal): address review round 3 feedback from egdev6fix(terminal): migrate Zod discriminatedUnion to Effect Schema UnionRebase resolutions applied:
packages/app/src/context/terminal.tsx— took the PR version (new session surface).packages/opencode/src/pty/index.ts— modify/delete conflict; took the PR version (the modifications address the upstream review feedback from @egdev6).bun.lockremoved (regenerable withbun install).terminal.txtandtxt.d.tsignored (artifacts of the native build).Diff stats: 8 files changed, 1466 insertions(+), 293 deletions(-).
How did you verify your code works?
Rebased cleanly onto current dev; the 5 logical commits apply without merge conflicts. Terminal tests included.
Screenshots / recordings
Not a UI change; native tool + desktop session surface.
Checklist