feat(herdr): attach the one native terminal to a running agent - #57
Draft
islee23520 wants to merge 20 commits into
Draft
feat(herdr): attach the one native terminal to a running agent#57islee23520 wants to merge 20 commits into
islee23520 wants to merge 20 commits into
Conversation
| } | ||
|
|
||
| function stripHtmlComments(markdown) { | ||
| return markdown.replace(/<!--[\s\S]*?-->/g, ''); |
Activity Bar lists live Herdr workspaces and agents from CLI list commands. Clicking an agent attaches the existing one-PTY terminal; clicking a space does not switch windows. VS Code herdr E2E waits on visible pane output and covers tree attach before the attach cycle.
Space or Agent clicks in another folder open that folder in a new VS Code window. Agent clicks in this window still attach the one PTY.
Herdr trees and attach stay off until ulw.herdr.enabled is true. Refresh then lists agents even when cwd/title are null, and GUI PATH includes ~/.local/bin so herdr is found outside a login shell.
ulw.sidebar.enabled (default true) gates the secondary-sidebar container and view. When it is off, ULW stays an editor tab and does not reopen the auxiliary bar.
Turning on ulw.herdr.enabled after activate now reloads the trees. The first tree expand also loads, and failures go to the Extension Host log as [ULW Herdr].
webpack leaves node-pty external. Packaging with --no-dependencies omitted the native module, so GUI Code never registered ulw.herdr.refreshExplorer and Spaces/Agents stayed empty. Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
When ulw.herdr.enabled is on, hide the ULW sidebar terminal and attach each same-space agent to a separate editor-group webview instead of the shared shell PTY. Detach no longer restores a local shell. Ultraworked with [omo](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com>
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.
Why
ULW should be able to attach its single native terminal to a running Herdr agent so the sidebar/editor surface can show that live session without becoming a Herdr dashboard. This work landed on
mainlocally; it is being moved onto a feature branch so the one-PTY attach contract can be reviewed (and later extended with a Spaces/Agents tree) without keeping unreviewed commits onmain.What Changed
Adds Herdr attach/detach on the existing one-PTY terminal:
herdr --version/agent list) and a shared invocation resolverTerminalTransportseam that keeps the local shell alive while a control-bridge child is attachedulw.attachHerdrSession/ulw.detachHerdrSessionwith a QuickPick of live agentsulw.herdr.executablePath,ulw.herdr.socketPath,ulw.herdr.sessionStill out of scope on this branch: Activity Bar Spaces/Agents tree, status bar, auto-start/reconnect, pane/agent management UI, extra runtime dependencies. Those are the next premise, not this PR.