Skip to content

feat(tui): Add /agent slash command for ACP agent selection#87

Closed
CSRessel wants to merge 1 commit into
devfrom
feature/acp-agent-model-picker
Closed

feat(tui): Add /agent slash command for ACP agent selection#87
CSRessel wants to merge 1 commit into
devfrom
feature/acp-agent-model-picker

Conversation

@CSRessel
Copy link
Copy Markdown
Collaborator

@CSRessel CSRessel commented Dec 9, 2025

Summary

🤖 Generated with Nori

  • Add new /agent slash command for switching between ACP agents at runtime
  • Track agent selection as "pending" until next prompt submission to prevent interrupting in-flight turns
  • Show visual indicator (→ agent-name) when an agent switch is pending
  • Disable /model picker in ACP mode (ACP agents use /agent instead)
  • Add 7 new E2E tests for agent picker behavior
  • Fix flaky tool_parallelism test by increasing timing threshold

Test Plan

  • All 13 agent_switching E2E tests pass
  • All 502 TUI tests pass
  • All 21 ACP tests pass
  • cargo clippy passes with no warnings
  • cargo fmt applied

Share Nori with your team: https://www.npmjs.com/package/nori-ai

Add a new /agent slash command that lets users switch between ACP agents
at runtime. The agent selection is tracked as "pending" and only applied
when a new prompt is submitted, preventing disruption to in-flight turns.

Key changes:
- Add SlashCommand::Agent variant with ACP agent picker popup
- Add list_available_agents() to expose available ACP agents from registry
- Track pending_agent state in ChatWidget with visual indicator
- Refactor spawn_acp_agent() to support dynamic model switching via loop
- Add SetPendingAgent app event for coordinating UI state
- Disable /model picker in ACP mode (agents use /agent instead)
- Add 7 new E2E tests verifying agent picker behavior
- Fix flaky tool_parallelism test timing threshold
@CSRessel
Copy link
Copy Markdown
Collaborator Author

CSRessel commented Dec 9, 2025

Code is heavily entangled with codex-tui module, closing in favor of #84

@CSRessel CSRessel closed this Dec 9, 2025
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