Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Remove the summarizeToolOutput setting and related functionality.
This feature allowed LLM-based summarization of shell tool output but is no longer needed.
This simplifies the codebase by removing unused summarization logic and configuration options.
Remove the enableToolOutputTruncation boolean setting. Users can now
disable truncation by setting truncateToolOutputThreshold to 0 or a
negative value instead of using a separate toggle.
This simplifies the configuration and prevents users from accidentally
disabling truncation which could cause memory issues with large tool
outputs.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
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.
Extract common hook definition items schema into a reusable constant
to avoid code duplication between UserPromptSubmit and Stop hooks.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The hooks array items were incorrectly typed as 'string' in the JSON
schema, causing VS Code to show type errors when users configure
HookDefinition objects. This fix adds proper schema support for complex
array item types.
- Add SettingItemDefinition interface for array item schema
- Add items schema for UserPromptSubmit and Stop hooks
- Update generate-settings-schema.ts to convert complex item types
Fixes#2246
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
### Shell & Interactive Terminal Improvements
- PTY shell is now enabled by default instead of disabled
- Improved shell output rendering, process termination, and added fallback warning
- Background commands now properly capture subprocess PIDs on non-Windows
### Coding Plan Improvements
- Simplified auth message, added /model tip, improved system info display
- Reordered model list to prioritize glm-5, kimi-k2.5, MiniMax-M2.5
- Model selection is now preserved when updating if the model still exists
### Other Changes
- Added shared symlink utility; debug logs now have latest alias
- Unknown settings warnings go to debug log instead of user-facing warnings
- Fixed subagent confirmation state detection
- Removed debug UI from AgentCreationWizard
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The LLM-based loop detection was causing issues where the process would
stop unexpectedly. This change removes the LLM-based loop detection
feature entirely and sets skipLoopDetection to true by default to
prevent false positives from interrupting user sessions.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add backupSettingsFile() utility to create .orig backup before modifying settings
- Update success message to indicate backup was created
- Sync i18n translations for all supported languages
- Update documentation to reflect the change
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Merge coder-model and qwen3.5-plus into a single coder-model with vision capability
- Remove vlmSwitchMode CLI argument and experimental.vlmSwitchMode setting
- Remove useVisionAutoSwitch hook and inline image format checking into useGeminiStream
- Remove ModelSwitchDialog and related vision switch UI components
- Update all related tests to reflect the simplified model structure
- Set DEFAULT_QWEN_MODEL to coder-model
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add InProcessBackend to run subagents in-process rather than via subprocess,
enabling faster initialization and better resource management for agent
collaboration arenas.
Key changes:
- Add InProcessBackend with sandboxed in-process agent execution
- Refactor agent runtime into headless vs interactive modes
- Add AsyncMessageQueue utility for agent message passing
- Update ArenaManager with backend selection (in-process vs subprocess)
- Refactor subagent types/exports; consolidate in subagents/types
- Remove deprecated agent-hooks.ts (functionality merged into runtime)
- Update task tool to support new agent lifecycle
Breaking: Subagent type exports restructured; import from subagents/types
Introduces a new Arena system for running multiple AI agents in parallel
terminal sessions with support for iTerm and Tmux backends.
Core:
- Add ArenaManager and ArenaAgentClient for orchestrating multi-agent sessions
- Add terminal backends (ITermBackend, TmuxBackend) with feature detection
- Add git worktree service for isolated agent workspaces
- Add arena event system for real-time status updates
CLI:
- Add /arena command with start, stop, status, and select subcommands
- Add Arena dialogs (Select, Start, Status, Stop)
- Add ArenaCards component for displaying parallel agent outputs
- Consolidate message components into StatusMessages and ConversationMessages
- Add MultiSelect component for agent selection
Config:
- Add arena-related settings to schema and config
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Changed default value from false to true in settingsSchema.ts
- This aligns the schema with the actual code behavior (?? true fallback)
- Matches documentation and test expectations
- Resolves inconsistency reported in issue #1764Fixes#1764
Add support for defining environment variables in settings.json files.
These variables are loaded with the lowest priority:
1. System/process environment variables (highest)
2. .env files
3. settings.env (lowest/fallback)
This allows users to configure default environment variables in their
user or workspace settings without conflicting with existing env vars
or .env file values.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Remove SmartEditTool and its associated LLM edit fixer utilities
- Remove ClearcutLogger and related telemetry infrastructure
- Remove useSmartEdit configuration option from settings schema
- Add deprecation warning for users with existing useSmartEdit config
- Clean up all related tests and mocks
The Smart Edit tool was designed to provide flexible matching and LLM-based
correction for edit operations. However, current models are now capable
of effectively using the standard Edit tool without these optimizations,
and the Smart Edit tool lacked comprehensive testing coverage.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
The schema incorrectly defined the field as 'loadMemoryFromIncludeDirectories'
while the migration map and documentation specified 'loadFromIncludeDirectories'.
This caused user configurations to be ignored.
Changes:
- Rename schema field from loadMemoryFromIncludeDirectories to loadFromIncludeDirectories
- Update all references in config loading and UI components
- Update test cases to reflect the correct field name
Fixes#1603
- Remove legacy childKey field from settingsSchema
- Add contextWindowSize and maxOutputTokens to documentation
- Refactor ContextUsageDisplay to accept contextWindowSize directly instead of Config object
- Add useMemo optimization for contextWindowSize in Footer component
- Fix logic gaps in contentGenerator for contextWindowSize and maxOutputTokens initialization
- Increase DEFAULT_OUTPUT_TOKEN_LIMIT from 4K to 8K for better usability
- Add fallback to default values when model is not available
- Initialize contextWindowSize and maxOutputTokens in contentGeneratorConfig during config resolution
- Remove third parameter from tokenLimit() function for cleaner API
- Replace all tokenLimit() calls with direct config property access for better performance
- Add maxOutputTokens field to ContentGeneratorConfig type
- Update dashscope provider to use config.maxOutputTokens
- Auto-detect token limits from model during initialization if not user-configured
- Update settingsSchema: set contextWindowSize default to undefined and showInDialog to false
Benefits:
- Token limits calculated once during initialization instead of repeatedly
- Cleaner API with fewer parameters
- Better performance by caching computed values
- User configuration takes precedence over auto-detection
- All 72 unit tests passing
Resolved conflicts in:
- packages/cli/src/ui/components/ContextUsageDisplay.tsx
- packages/cli/src/ui/components/Footer.tsx
- packages/cli/src/ui/components/Footer.test.tsx
- docs/users/configuration/settings.md
Changes:
- Merged main branch UI improvements with rightItems architecture
- Updated contextWindowSize documentation to be more concise
- Preserved all main branch features and functionality