- Add large paste placeholder feature: when pasting text > 1000 chars,
show a placeholder like '[Pasted Content 1500 chars]' instead of the
full content. The full text is stored and expanded on submit.
- Fix enter-submit on macOS: only apply recentPasteTime protection when
pasteWorkaround is enabled (Windows or Node < 20). On macOS/Linux with
modern Node, bracketed paste markers work reliably so the protection is
unnecessary and caused the first Enter after paste to be ignored.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Add support for loading skills from symlinked directories in the skill manager. This allows users to organize and share skills more flexibly by using symbolic links.
Changes:
- Modified skill discovery logic to detect and follow symlinks
- Added validation to ensure symlink targets point to valid directories
- Skip broken or invalid symlinks with appropriate warnings
- Added comprehensive test coverage for symlink scenarios
When vitest loads @qwen-code/qwen-code-core from source files (via alias),
ripgrepUtils.ts failed to find the bundled ripgrep binary because it only
handled bundle and transpiled code paths.
Added detection for source file loading (.ts files in src/utils/) to correctly
resolve the vendor path (2 levels up instead of 3).
Also refactored the path resolution logic to be more concise using levelsUp
calculation.
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Update license header to include Qwen copyright
- Add error handler for spawn in dev.js
- Refactor core/src/index.ts to export all public APIs
- Simplify core/index.ts to be a clean re-export
- Fix vitest alias to point to package entry
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add requestId mechanism to prevent stale async responses from overwriting newer results
- Implement case-insensitive file search with buildCaseInsensitiveGlob method
- Filter gitignored files using FileDiscoveryService integration
- Allow completion list refresh during search by removing query check condition
- Add --experimental-skills CLI argument for qwen connection
- Add unit tests for FileMessageHandler
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove duplicate webui build in vscode-ide-companion (fixes double build)
- Fix misleading [watch] log messages in esbuild.js (only show in watch mode)
- Update vite-plugin-dts to ^4.5.4 for TypeScript 5.8+ support
- Update baseline-browser-mapping to ^2.9.19 to silence outdated data warnings
- Fix vitest config to use @qwen-code/qwen-code-core instead of old gemini-cli-core
- Add resolve.alias in cli vitest.config.ts for source-based testing
- Add npm run dev script for running from TypeScript source without build
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add normalizeSkillFileContent function to skill-load.ts
- Update regex to allow frontmatter ending without trailing newline
- Add comprehensive tests for CRLF, BOM, and edge cases
Fixes#1666
Anthropic's Node client uses node-fetch, which expects a Node http(s).Agent.
Stop providing undici's Dispatcher as httpAgent; only set httpAgent when a proxy
is configured (via https-proxy-agent), otherwise let the SDK use its default.
- Footer.test.tsx: provide contextWindowSize in mock config to match
Footer component's new requirement for displaying context usage
- tokenLimits.test.ts: consolidate Kimi K2 tests and update expectations
to 256K for all variants to match the implementation
- Fix contextWindowSize not updating when switching models via setModel()
- Fix ACP agent to respect provider-configured contextWindowSize before auto-detection
- Simplify getTruncateToolOutputThreshold to use static threshold
- Add support for GLM-4.7, Kimi-2.5, and MiniMax-M2.1 models
- Update context usage display to require explicit contextWindowSize
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Redesign ModelSelector positioning to use fixed positioning with max-width
for better responsive layout
- Add model caching in WebViewProvider to resend available models when
webview becomes ready
- Add native VSCode notifications for model switching success/failure
- Display error messages to users in the chat when errors occur
- Simplify InputForm by removing redundant model selector wrapper styles
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit includes several updates:
- Updated eslint configuration with improved formatting and organization
- Added SaveMemoryToolCall support in vscode-ide-companion
- Translated Chinese comments and UI text to English in various components
- Made minor code formatting improvements across multiple files
Add extra_body configuration option to model.generationConfig for passing
custom parameters to OpenAI-compatible API request bodies.
- Add extra_body to ContentGeneratorConfig type
- Add extra_body to MODEL_GENERATION_CONFIG_FIELDS and ModelGenerationConfig
- Implement extra_body merging in DefaultOpenAICompatibleProvider
- Implement extra_body merging in DashScopeOpenAICompatibleProvider
- Update documentation with examples and provider compatibility notes
- Note: This feature is only for OpenAI-compatible providers (openai, qwen-oauth)
Resolves#1647Resolves#1644
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>