* feat(vscode-ide-companion): add Tab key fill-only behavior for completions
- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands
* feat(vscode-ide-companion): add Tab key fill-only behavior for completions
- Separate Tab and Enter key handling in CompletionMenu
- Tab now inserts completion text without executing (useful for slash commands)
- Enter/click continues to select and execute immediately
- Allow users to append arguments after Tab-filling slash commands
Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>
* feat: add command selection behavior logic and tests
Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>
* feat(vscode-ide-companion): add Tab key completion fill behavior with tests
- Add onCompletionFill prop to InputForm for Tab key handling
- Distinguish Tab (fill) and Enter (select) completion behaviors
- Add keyboard handling tests for completion items
- Remove 'skills' command from non-interactive CLI allowed list
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
* refactor: add itemId variable for command handling in App component
Co-developed-by: Aone Copilot <noreply@alibaba-inc.com>
* refactor: remove unused command selection behavior utils and tests
---------
Co-authored-by: Mingholy <14246397+Mingholy@users.noreply.github.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This aligns the test with the updated error handling that uses `status` instead of `code` for HTTP status codes.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add comprehensive documentation for the Agent Arena feature, covering
usage, configuration, best practices, troubleshooting, and limitations.
Update navigation metadata to include the new page.
This enables users to discover and learn about the multi-model comparison
capability for competitive task execution.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Move getErrorStatus from retry.ts to errors.ts for better organization
- Add getErrorType utility to extract error class/category names
- Enhance getErrorMessage to include cause chain for better debugging
- Refactor ApiErrorEvent to use options object pattern (more readable)
- Rename 'error' to 'error_message' in ApiErrorEvent for clarity
- Make isQwenQuotaExceededError more precise: requires status=429,
code='insufficient_quota', and 'free allocated quota exceeded' message
- Update all tests to match new error detection behavior
This improves error telemetry and makes quota detection more reliable.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add truncateToolOutput helper in truncation.ts to centralize threshold reading, file saving, and telemetry logging
- Refactor shell.ts to use the new helper, removing duplicate code
- Add truncation support for MCP tool output while preserving non-text content (images, audio, resources)
- Refactor getDisplayFromParts to work on transformed Part[] instead of raw MCP response
This reduces code duplication and ensures consistent truncation behavior across shell and MCP tools.
- Added candidatesTokens prop to LoadingIndicator for displaying token counts.
- Updated formatting to show elapsed time and token counts inline.
- Refactored tests to validate new token display functionality and formatting changes.
- Introduced formatTokenCount utility for consistent token count representation.
This improves user feedback during loading states by providing clearer information on token usage.
- Add hasExplicitOutputLimit() to detect models with defined output limits
- For known models: cap user max_tokens to model limit (avoid API errors)
- For unknown models (deployment aliases, self-hosted): respect user config
- Update tests to cover new behavior
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add os.tmpdir() to allowed paths in read-file tool
- Add tests for reading files from OS temp directory
- Add terminal capture scenario for PR review testing
This supports the PR review workflow which saves context to temp files.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Increase DEFAULT_OUTPUT_TOKEN_LIMIT from 16K to 32K
- Remove auto-detection from modelsConfig, apply at provider level
- Use conservative default (min of model limit and 32K) when user hasn't configured max_tokens
- Respect user configuration but cap at model's max output limit to avoid API errors
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Checkout PR branch instead of remote viewing for full file access
- Save PR context to temp file to avoid repeating in agent prompts
- Add guidance to prevent 4x diff duplication across agents
- Include environment restoration step after review
This enables agents to read files directly and use git diff against base branch,
improving review quality and reducing prompt bloat.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Removed client-side filtering for search queries; fuzzy search is now handled by the backend.
- Enhanced file search initialization and caching mechanisms in FileMessageHandler.
- Added file watchers for cache invalidation on file system changes.
- Updated completion trigger logic to prioritize '@' over '/' for path-like queries.
- Reset last query on file selection to ensure fresh search results.
This refactor improves search efficiency and maintains accurate file references in the application.
Task tools spawn independent sub-agents with no shared mutable state,
making them safe to run in parallel. This change executes all task
tools concurrently while keeping other tools sequential to preserve
any implicit ordering the model may rely on.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Remove unused outputFile property from AgentToolResultEvent and its
associated test case. This property is not needed for agent tool
result handling.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add helper functions for better code organization (createPrintableKey,
getCompleteCsiSequenceLength, parsePlainTextPrefix)
- Drop unsupported Kitty CSI-u keys without blocking subsequent input
- Recover plain text that arrives in same chunk after unsupported CSI-u keys
- Add comprehensive tests for edge cases (CAPS_LOCK, event metadata variants)
Improves robustness of Kitty keyboard protocol parsing by gracefully
handling unsupported key codes and ensuring plain text input is not lost.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>