Add headless agent control mode#345
Open
maceip wants to merge 1 commit into
Open
Conversation
Author
|
this was made baby-sized to pass review -- if you are considering something heavy like ACP or want more than a line-buffered mode with /save lmk |
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.
this adds
--agent-control, a third way to runds4-agentbetween the tui and plain--non-interactiveplain
--non-interactiveis good for prompt pipes, but it cannot drive the agent session lifecycle. supervisors need/save,/switch, and clean exit without pretending to be a terminalit keeps normal prompt submission on stdin, but makes stdin line-delimited so lines starting with
/can control the agent session without terminal emulation🔶 supports
/save,/list,/switch,/new,/quit, and/exit🔶 keeps plain input lines as user prompts
🔶 refuses
/switchor/newwhen session state is dirty, so callers must/savefirstthis is meant as a small step toward a native agent session api: fast project and cwd switching, exact kv resume when possible, structured trace and lifecycle events, and remote workspace clients that still keep ds4 in control of the live session
validated locally with
make ds4-agent,git diff --check,./ds4-agent --help, and the--agent-control/-pparser rejection path