Commit graph

1413 commits

Author SHA1 Message Date
mingholy.lmh
ae8c0d3d4e refactor(settings): sequential settings migration 2026-03-02 00:12:51 +08:00
tanzhenxin
ac5a0c68e5
Merge pull request #1929 from TheForgivenOne/fix/gopls-workspaceFolders-capability
fix: change workspaceFolders capability to boolean for LSP servers
2026-02-27 21:30:58 +08:00
tanzhenxin
9dc758cfc0
Merge pull request #1852 from QwenLM/feat/qwen3.5-plus
Merge coder-model and qwen3.5-plus, remove vision auto-switching
2026-02-27 21:19:37 +08:00
tanzhenxin
7cbebe9a63 Merge branch 'main' into feat/support-insight-command
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 21:51:17 +08:00
tanzhenxin
a0d80ee4fa chore: bump version to 0.11.0
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 21:08:40 +08:00
tanzhenxin
a172696b86 Merge branch 'main' into feat/support-insight-command
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 21:05:41 +08:00
mingholy.lmh
51214d9032 fix: 修复模型常量更新导致的单测失败
- 将 ModelDialog.test.tsx 中的 MAINLINE_CODER_MODEL 替换为 DEFAULT_QWEN_MODEL
- 修复 modelConfigResolver.test.ts 中 OpenAI auth 类型的默认模型期望
- 统一使用 core 包导出的 MAINLINE_CODER_MODEL 常量

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 15:45:06 +08:00
mingholy.lmh
42a5b4d1e0 fix: add model resolution warnings to start warnings 2026-02-26 14:43:07 +08:00
mingholy.lmh
740f4e0949 fix: remove test code and switch-mode 2026-02-26 14:43:07 +08:00
qwen-code-ci-bot
ae6716c651 refactor: merge coder-model and qwen3.5-plus, remove vision model switching
- 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>
2026-02-26 14:43:07 +08:00
qwen-code-ci-bot
a55e96a6a3 refactor: use qwen3.5-plus to replace vision-model
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 14:43:06 +08:00
qwen-code-ci-bot
f90ed9efe9 feat: update model configs and tests for qwen3.5-plus
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-26 14:43:06 +08:00
pomelo
44b8ff729e
Merge pull request #1837 from echoVic/fix/mcp-readonly-hint-plan-mode
Some checks failed
Qwen Code CI / CodeQL (push) Has been cancelled
Qwen Code CI / Lint (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:none (push) Has been cancelled
E2E Tests / E2E Test - macOS (push) Has been cancelled
Qwen Code CI / Test (push) Has been cancelled
Qwen Code CI / Test-1 (push) Has been cancelled
Qwen Code CI / Test-2 (push) Has been cancelled
Qwen Code CI / Test-3 (push) Has been cancelled
Qwen Code CI / Test-4 (push) Has been cancelled
Qwen Code CI / Test-5 (push) Has been cancelled
Qwen Code CI / Test-6 (push) Has been cancelled
Qwen Code CI / Test-7 (push) Has been cancelled
Qwen Code CI / Test-8 (push) Has been cancelled
Qwen Code CI / Post Coverage Comment (push) Has been cancelled
feat: support MCP readOnlyHint annotation in plan mode (#1826)
2026-02-25 15:40:20 +08:00
pomelo
ade3711571
Merge pull request #1768 from QwenLM/fix/issue-1760-windows-path-case-sensitivity
fix: normalize Windows paths to lowercase for case-insensitive session matching
2026-02-25 15:17:31 +08:00
pomelo
33a5116eca
Merge pull request #1612 from QwenLM/feat/image-attachment
feat: Add clipboard image support and attachment UI to CLI
2026-02-25 15:16:29 +08:00
mingholy.lmh
b749ef302e test(openrouter): update test expectations for X-OpenRouter-Title header
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-25 10:41:39 +08:00
mingholy.lmh
d12a593aa8 fix(openrouter): correct header name for OpenRouter provider
Change X-Title to X-OpenRouter-Title for proper OpenRouter API compatibility

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-25 10:12:25 +08:00
TheForgivenOne
6843a6fce7 fix: change workspaceFolders capability to boolean for LSP servers
Fixes #1748 - gopls failed to start with JSON RPC parse error.
The workspaceFolders capability was incorrectly sent as an object
{ supported: true } instead of a boolean true, causing gopls to
fail with 'cannot unmarshal object into... bool'.
2026-02-24 15:02:47 +00:00
qwen-code-ci-bot
fc04ba1ece
chore: bump version to 0.10.5 (#1886)
Some checks failed
Qwen Code CI / Lint (push) Has been cancelled
Qwen Code CI / CodeQL (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Has been cancelled
E2E Tests / E2E Test (Linux) - sandbox:none (push) Has been cancelled
E2E Tests / E2E Test - macOS (push) Has been cancelled
Qwen Code CI / Test (push) Has been cancelled
Qwen Code CI / Test-1 (push) Has been cancelled
Qwen Code CI / Test-2 (push) Has been cancelled
Qwen Code CI / Test-3 (push) Has been cancelled
Qwen Code CI / Test-4 (push) Has been cancelled
Qwen Code CI / Test-5 (push) Has been cancelled
Qwen Code CI / Test-6 (push) Has been cancelled
Qwen Code CI / Test-7 (push) Has been cancelled
Qwen Code CI / Test-8 (push) Has been cancelled
Qwen Code CI / Post Coverage Comment (push) Has been cancelled
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-20 22:04:14 +08:00
qwen-code-ci-bot
4cd42187b8
chore: bump version to 0.10.4 (#1864)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-18 12:46:25 +08:00
qwen-code-ci-bot
fca4d739c7
chore: bump version to 0.10.3 (#1863)
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-18 12:28:48 +08:00
pomelo-nwu
0f842f4733 feat(models): add Qwen 3.5 Plus model support with updated descriptions and token limits
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-16 16:52:42 +08:00
mingholy.lmh
07b97282aa chore: bump version to 0.10.2
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-15 11:51:04 +08:00
echoVic
1789b16914 feat: support MCP readOnlyHint annotation in plan mode (#1826)
MCP tools annotated with readOnlyHint: true are now allowed to execute
in plan mode without being blocked. Previously, all MCP tools were
assigned Kind.Other and required confirmation, causing plan mode to
block even read-only MCP tools.

Changes:
- Add McpToolAnnotations interface to mcp-tool.ts
- Fetch tool annotations via mcpClient.listTools() during discovery
- Pass annotations through to DiscoveredMCPTool and its invocation
- Set Kind.Read for tools with readOnlyHint: true (instead of Kind.Other)
- Skip confirmation for readOnlyHint: true tools in shouldConfirmExecute

Fixes #1826
2026-02-14 15:07:03 +08:00
Mingholy
f12c9edd20
Merge pull request #1825 from QwenLM/mingholy/fix/subagent-memory-leak
Fix abort listener accumulation in subagent while loop
2026-02-13 21:39:02 +08:00
pomelo
e7e67467e5
Merge pull request #1821 from QwenLM/fix/issue-1818-playwright-mcp-schema
fix: support JSON Schema draft-2020-12 for MCP tools (fixes #1818)
2026-02-13 17:59:56 +08:00
yiliang114
6eb6812f5e feat(core): add rate limit error detection utility
- Extract rate-limit detection into dedicated rateLimit.ts module
- Support detection from ApiError, StructuredError, HttpError, and JSON strings
- Handle common rate-limit codes: 429, 503, 1302 (GLM)
- Simplify retry.ts by removing duplicated detection logic
2026-02-13 15:32:35 +08:00
mingholy.lmh
48a403407d Fix: Prevent abort listener accumulation in subagent while loop
Move AbortController creation inside while(true) loop to create a new
instance per round. This prevents listeners from accumulating across
multiple rounds which was causing maxListener warnings.

Key changes:
- Create roundAbortController at the start of each loop iteration
- Track current round's controller with currentRoundAbortController
- External abort signal propagates to current round's controller in real-time
- Cleanup external listener and clear reference in finally block

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-12 23:20:44 +08:00
yiliang114
0d2e394ef1 fix(openai): tool call cleanup order when fixing streaming errors 2026-02-12 18:09:58 +08:00
yiliang114
85a90b1080 refactor(core): simplify rate limit retry with fixed 60s delay
- Use fixed 60s delay matching DashScope per-minute quota window
- Increase max retries from 3 to 10 to align with Claude Code behavior
- Remove unused isTPMThrottlingError, isGLMRateLimitError, isRateLimitThrottlingError functions
- Simplify getRateLimitRetryInfo to only extract reason, delay is now caller's responsibility

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-12 18:09:31 +08:00
yiliang114
3153ff5caa Merge branch 'main' into feat/tpm-throttling-retry-wenshao 2026-02-12 17:01:18 +08:00
LaZzyMan
3ae2f8f671 fix: support JSON Schema draft-2020-12 for MCP tools (fixes #1818)
- Add Ajv2020 validator to support draft-2020-12 schemas used by playwright-mcp
- Auto-select validator based on $schema field
- Gracefully skip validation when schema compilation fails
- Add comprehensive tests for JSON Schema version support

Reference: gemini-cli implementation pattern
2026-02-12 16:31:01 +08:00
yiliang114
3fb641ca1a feat(core, cli): add rate limit throttling retry with countdown UI
- Refactor retry utility to support GLM rate limit errors (code 1302) and TPM throttling
- Add getRateLimitRetryInfo() for unified rate-limit error detection
- Add exponential backoff for non-TPM rate limit errors
- Extend StreamEventType.RETRY with RetryInfo payload for UI feedback
- Add RetryCountdownMessage component for visual retry countdown
- Update useGeminiStream hook to handle retry events with countdown timer
- Add i18n support for rate limit messages (en/zh)
2026-02-12 16:21:10 +08:00
yiliang114
1c38455190 test(core): add rejection handler to prevent unhandled rejection in TPM throttling test
Add a .catch() handler to the promise before advancing timers to prevent
Node.js from reporting an unhandled rejection when maxAttempts is exhausted
during the TPM throttling retry test.
2026-02-12 12:55:51 +08:00
yiliang114
aef292125a test(core): fix type assertion in pipeline test for error_finish chunk
- Change 'as' to 'as unknown as' for proper type casting
2026-02-11 21:28:30 +08:00
yiliang114
e00ee9d45b refactor(core): prioritize TPM throttling check over shouldRetryOnError
- Move TPM throttling check before shouldRetryOnError to ensure TPM errors
  without standard HTTP status codes are still retried
- Add comprehensive unit tests for edge cases:
  - TPM error without status property
  - Nested TPM error object without top-level status
  - Consecutive TPM throttling errors
  - Max attempts exhaustion for TPM errors
2026-02-11 21:17:52 +08:00
yiliang114
e9d2ead38f refactor(core): simplify TPM throttling error detection logic
- Remove redundant error checking logic in isTPMThrottlingError function
- Reuse isStructuredError and isApiError utilities from quotaErrorDetection module
- Clean up duplicate import statements
2026-02-11 20:42:20 +08:00
yiliang114
93a131dd7b Handle TPM throttling in stream retries 2026-02-11 20:39:46 +08:00
mingholy.lmh
cc4ad12e06 chore: bump version to 0.10.1
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-11 19:22:31 +08:00
DragonnZhang
2421bb185b feat(insight): refactor prompts and integrate dynamic prompt retrieval 2026-02-11 19:01:47 +08:00
Shaojin Wen
c573c6a743
Update packages/core/src/utils/retry.ts
Co-authored-by: 易良 <1204183885@qq.com>
2026-02-11 16:56:35 +08:00
Mingholy
6626745197 fix: type & i18n & ut 2026-02-11 11:58:33 +08:00
mingholy.lmh
b9dd080bd1 feat: add auth entry: coding plan 2026-02-11 11:58:33 +08:00
Mingholy
169ad2d030
Merge pull request #1756 from QwenLM/feat/mcp-progress-updates
feat: add MCP tool progress update support in TUI and SDK mode
2026-02-11 11:07:20 +08:00
wenshao
48119e0cb1 feat: add TPM throttling error handling with 1-minute retry delay
Add support for detecting and handling TPM (Tokens Per Minute) throttling errors.
When a TPM throttling error is detected (e.g., 'Throttling: TPM(10680324/10000000)'),
the system now waits 1 minute before retrying instead of using exponential backoff.

Changes:
- Add isTPMThrottlingError() function to detect TPM throttling errors
- Modify retryWithBackoff() to use fixed 1-minute delay for TPM errors
- Add unit tests for TPM throttling detection and retry behavior

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-10 23:43:41 +08:00
LaZzyMan
60fec71e46 fix sanitizeCwd 2026-02-10 15:13:24 +08:00
LaZzyMan
b488126830 feat add multi-platform support 2026-02-10 14:38:01 +08:00
LaZzyMan
56030f9291 Merge branch 'main' into feat/image-attachment 2026-02-10 14:16:21 +08:00
DragonnZhang
dd56345ac6 fix: handle special case for merging function calls with args and names
Added logic to merge two function calls where the first has a name but no arguments, and the second has arguments but no name. This ensures that function calls are correctly represented when they are split across two parts.
2026-02-10 11:47:15 +08:00
LaZzyMan
d3dfc26dea fix ci test 2026-02-09 15:30:06 +08:00