Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Track user-initiated cancellation separately from failures
- Cancel round immediately when user denies a tool call
- Add message queue to handle input during streaming
- Add info messages during Arena operations (apply, stop, cleanup)
- Disable tmux/iTerm2 backends (only in-process mode supported)
- Polish UI: green tool count, updated warning prefix
This improves the Arena UX by providing clearer feedback and
properly handling user cancellations without treating them as failures.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Extract atomic file write utility into reusable module. Add arena system reminder injection so orchestrating agents can discover active arena sessions. Support in-process mode status file writing for external consumers.
This enables agent-to-agent collaboration where a parent agent can monitor and coordinate arena sessions via file-based status files.
- Add AgentHeader component showing model, path, and git branch
- Separate modelId and modelName in RegisteredAgent for cleaner display
- Simplify worktree branch naming from worktrees/session/name to base-session-name
- Change loading text from "Agent is working…" to "Thinking…"
- Make agent footer always visible (not just when input is active)
This improves the agent collaboration UX by providing context about each
agent's environment and simplifies the git worktree management.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Move useArenaInProcess from AppContainer to AgentViewProvider
- Replace polling with config.onArenaManagerChange() callback
- Add success-type progress messages when agents finish tasks
- Add isSuccessStatus helper for IDLE/COMPLETED status checks
- Reset input history position when arena session starts
This improves separation of concerns and eliminates the 500ms polling
interval in favor of immediate reactive updates when the arena manager
changes.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add info message when chatHistory is passed to spawned agents
- Add tests for info message presence and absence
This provides visibility to users when chat history context is included
in spawned agent sessions.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add stripStartupContext to remove env-info from parent history and pass
chatHistory through ArenaManager → InProcessBackend → AgentInteractive →
AgentCore. This allows arena agents to start with conversational context
from the main session.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Extract shared BaseTextInput component with readline keyboard handling
- Add AgentComposer and AgentFooter components for agent interaction
- Add useAgentStreamingState hook for managing agent streaming state
- Refactor InputPrompt to use BaseTextInput with agent tab bar focus support
- Move calculatePromptWidths to shared layoutUtils
- Disable auto-accept indicator on agent tabs (agents handle their own)
This enables a dedicated input experience for agent tabs with proper
focus management and keyboard navigation between main input and agent tabs.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Introduce AgentStatus.IDLE for agents that finished work but can accept follow-up messages
- Add isSettledStatus() helper to check if agent is settled (IDLE or terminal)
- Update ArenaManager to transition to IDLE after agents finish initial task
- Keep agent tabs visible when session is IDLE so users can continue interacting
- Fix listener cleanup to not detach on IDLE (agents remain alive)
- Update tests to expect 'idle' status after successful completion
This enables the arena collaboration feature where agents can receive
additional tasks after completing their initial work.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The test was failing because readFile returns content with a trailing
newline, causing '1.0.1\n' to not equal '1.0.1' with toBe.
Using toContain handles this gracefully.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Use 8-char short names derived from session UUID for worktrees
- Fix cleanup to use short worktreeDirName
- Simplify model display names (remove authType prefix)
- Improve messaging when <2 models available
- Show agent worktree paths in startup output
Prevents long path issues and provides clearer model setup guidance.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add agents.displayMode, arena/team/swarm settings, and refactor
acpAgent to use local ApprovalModeValue type.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- In ACP mode: allow ask_user_question in YOLO mode (user must respond)
- In ACP mode: allow ask_user_question in plan mode for clarifications
- Hide footer when confirmation dialog is active
- Fix tab index overflow with functional state updates
- Fix ask_user_question detection in VSCode companion (use rawInput)
- Add cleanup for pending ACP promises on panel/provider dispose
- Use theme.text.accent consistently for highlighted elements
- Remove unused 'answers' param from AskUserQuestionParams
This ensures users can always respond to clarification questions
in ACP mode regardless of approval mode, and improves dialog UX.
- Remove acp.ts and schema.ts in favor of SDK types
- Refactor acpAgent.ts to leverage SDK client
- Update session management types and implementations
- Adjust all test cases for new SDK-based architecture
- Update integration tests and export utilities
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>