Skip to content

feat(cli): support Agent mode switching in Shared TUI - #1863

Merged
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/shared-tui-agent-mode
Jul 29, 2026
Merged

feat(cli): support Agent mode switching in Shared TUI#1863
limityan merged 1 commit into
GCWing:mainfrom
limityan:yanzhn/shared-tui-agent-mode

Conversation

@limityan

Copy link
Copy Markdown
Collaborator

Summary

  • Let Shared TUI change the current Session Agent mode through /agent, Tab, and Shift+Tab.
  • Reuse the existing Agent selector and Agent Runtime owner; the private CLI IPC protocol adds only the reviewed Session mode update operation.
  • Require the controlling, idle Session before applying a change, and update visible TUI state only after the Runtime confirms success.
  • Treat timeout or disconnect as an unknown outcome: close the Shared connection and tell the user to restore the Session and inspect its mode before retrying.
  • Keep pending mode updates from sending a turn, opening Sessions, running /init, or switching Sessions through the same IPC request path.

Scope

This does not add model selection, Agent/Subagent management, GUI, Headless/CI, ACP, SDK Host, Peer/Remote, or public SDK/protocol support. Embedded TUI behavior remains unchanged.

Validation

  • cargo check -p bitfun-agent-runtime-ipc -p bitfun-cli
  • cargo test -p bitfun-agent-runtime-ipc --lib — 29 passed
  • cargo test -p bitfun-cli actions::tests — 31 passed
  • cargo test -p bitfun-cli modes::chat::tests — 58 passed
  • cargo test -p bitfun-cli --test product_assembly_cli — 10 passed
  • Core boundary check and its 16 self-tests
  • Repository hygiene and git diff --check
  • Independent architecture and product reviews: no remaining P0/P1/P2 findings

Repository-wide verification remains limited by existing unrelated Windows CLI dispatch/store failures and the external sherpa-onnx-sys workspace build wait; the affected CLI/IPC paths above are green.

@limityan
limityan merged commit 124a485 into GCWing:main Jul 29, 2026
7 checks passed
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.

1 participant