Commit graph

3117 commits

Author SHA1 Message Date
pomelo
934dc1b365
Merge pull request #1907 from QwenLM/feature/bailian-coding-plan-models
feat: add third-party models (glm-4.7, kimi-k2.5, qwen3-coder-next) to Coding Plan
2026-02-24 10:36:35 +08:00
tanzhenxin
e053beb022
Merge pull request #1857 from hobostay/fix/logging-improve-acp-connection
fix(fs): Improve BOM detection with length check and codePointAt
2026-02-24 10:28:43 +08:00
pomelo-nwu
24ea2b6964 feat: add qwen3-coder-next to Coding Plan (Global/Intl region)
- Added qwen3-coder-next model to the Global/Intl Coding Plan template
- Removed thinking mode from qwen3-coder-next (both China and Global regions)
- Updated test expectations to reflect the new model count

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-23 10:51:00 +08:00
pomelo-nwu
7ebae58a8c feat: add glm-4.7 and kimi-k2.5 to Coding Plan (Global/Intl region)
- Added glm-4.7 and kimi-k2.5 to the Global/Intl region template
- Excluded qwen3-coder-next as it's not yet supported internationally
- Both models configured with thinking enabled

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-23 10:18:57 +08:00
pomelo-nwu
b0e8c66523 feat: add qwen3-coder-next, glm-4.7, and kimi-k2.5 to Coding Plan (China region)
- Added three new third-party models to the Bailian Coding Plan China region template
- All models configured with thinking enabled (enable_thinking: true)
- Updated README.md with example configurations for new models
- Updated documentation to list all available Coding Plan models

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-23 10:17:44 +08: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
pomelo-nwu
89c78c7bf3 feat: add qwen3.5-plus model support for Coding Plan
- Add qwen3.5-plus configuration for both China and Global regions
- Update README with qwen3.5-plus setup instructions
- Fix Coding Plan console URL for international users
- Update tests for new model count

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-18 20:31:56 +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
Mingholy
6bc37c6c23
Merge pull request #1860 from QwenLM/fix-intl-coding-plan
Add Coding Plan Global/Intl region support
2026-02-18 09:44:13 +08:00
Mingholy
8fe60daa46
Merge pull request #1843 from QwenLM/mingholy/fix/sandbox-sdk-e2e
Fix sandbox user permission in integration tests
2026-02-18 09:24:04 +08:00
mingholy.lmh
78a4ab1b48 fix(cli): update regionName format from 'Bailian Coding Plan (Global/Intl)' to 'Coding Plan (Bailian, Global/Intl)'
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-18 09:21:16 +08:00
mingholy.lmh
c1789a0458 fix(cli): update Coding Plan Global/Intl labels and fix description logic
- Fix AuthDialog to show correct description for coding-plan-intl mode
- Update i18n keys from 'Coding Plan (Bailian, Global/Intl)' to 'Bailian Coding Plan (Global/Intl)'
- Sync translations across all locales (en, zh, de, ja, pt, ru)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-18 08:29:34 +08:00
mingholy.lmh
39360dc058 feat(cli): add Coding Plan Global/Intl region support
Add support for Coding Plan international region with separate base URL:
- Add CodingPlanRegion enum (CHINA, GLOBAL) for region management
- Add CODING_PLAN_INTL_MODELS template with intl base URL
- Add version storage for both regions (codingPlan.version/versionIntl)
- Update AuthDialog to show both region options
- Update useCodingPlanUpdates to handle region-specific updates
- Add i18n translations for all supported languages
- Fix and update unit tests

Users can now choose between:
- Coding Plan (Bailian, China) - https://coding.dashscope.aliyuncs.com/v1
- Coding Plan (Bailian, Global/Intl) - https://coding-intl.dashscope.aliyuncs.com/v1

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-17 20:28:46 +08:00
hobostay
caa9983e23 fix(fs): Improve BOM detection with length check and codePointAt
Improve the detectFileBOM method to handle edge cases better:

1. Add length check before accessing first character
   - Prevents potential issues with empty strings
   - Makes the intent explicit and defensive

2. Use codePointAt() instead of charCodeAt()
   - Better Unicode support for characters beyond BMP
   - More modern API for Unicode code point handling

This change maintains the same functionality while being more
robust and explicit about edge case handling.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-17 19:56:12 +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
mingholy.lmh
020c78b43b fix: update mail 2026-02-15 11:45:35 +08:00
mingholy.lmh
ee5e47bb5f fix: sandbox user permission in integration tests
- Allow SANDBOX_SET_UID_GID to control user identity in integration tests
- Fix project naming from gemini-cli to qwen-code
- Use random UUID in tests to avoid conflicts

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-15 11:02:32 +08:00
mingholy.lmh
32af4c7157 fix: ts error 2026-02-13 22:12:00 +08:00
mingholy.lmh
9daf20f3c7 refactor: rename session-id to sessionId for consistency in CLI argument handling 2026-02-13 22:05:38 +08:00
mingholy.lmh
82dc79629c feat: enhance session ID handling and error propagation 2026-02-13 21:41:38 +08:00
mingholy.lmh
51760fe3a6 fix: ci errors 2026-02-13 21:40:58 +08:00
mingholy.lmh
5d939fdb83 feat: add --session-id support for CLI and SDK
- Add --session-id flag to CLI for specifying custom session ID
- Add sessionId option to SDK QueryOptions
- Implement UUID validation for session IDs
- Pass session ID from SDK to CLI via --session-id argument
- Add integration tests for session-id functionality
- Update unit tests for ProcessTransport

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-13 21:40:57 +08:00
Mingholy
e8259092c6
Merge pull request #1823 from QwenLM/mingholy/fix/text-color
Fix auth UI to use semantic theme colors and correct selection sync
2026-02-13 21:39:54 +08:00
Mingholy
ffa2d89ecd
Merge pull request #1824 from QwenLM/mingholy/fix/esc-interrupt
refactor(cli): unify Escape key handling in AppContainer
2026-02-13 21:39:11 +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
pomelo
b44e978c7d
Merge pull request #1813 from QwenLM/fix/issue-1764-showlinenumbers-default
fix: correct showLineNumbers default value to true
2026-02-13 17:58:43 +08:00
pomelo
001d0103f3
Merge pull request #1791 from wenshao/feat/tpm-throttling-retry
feat: add TPM throttling error handling with 1-minute retry delay
2026-02-13 17:34:05 +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
顾盼
aefea076b0
Merge pull request #1811 from QwenLM/fix/abort-signal-listener-leak
Some checks are pending
Qwen Code CI / Lint (push) Waiting to run
Qwen Code CI / Test (push) Blocked by required conditions
Qwen Code CI / Test-1 (push) Blocked by required conditions
Qwen Code CI / Test-2 (push) Blocked by required conditions
Qwen Code CI / Test-3 (push) Blocked by required conditions
Qwen Code CI / Test-4 (push) Blocked by required conditions
Qwen Code CI / Test-5 (push) Blocked by required conditions
Qwen Code CI / Test-6 (push) Blocked by required conditions
Qwen Code CI / Test-7 (push) Blocked by required conditions
Qwen Code CI / Test-8 (push) Blocked by required conditions
Qwen Code CI / Post Coverage Comment (push) Blocked by required conditions
Qwen Code CI / CodeQL (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Waiting to run
E2E Tests / E2E Test (Linux) - sandbox:none (push) Waiting to run
E2E Tests / E2E Test - macOS (push) Waiting to run
fix: prevent AbortSignal listener memory leak
2026-02-13 10:35:20 +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
mingholy.lmh
86a358d26d fix: use semantic theme colors instead of hardcoded values in auth UI
- Replace hardcoded Colors.* with theme.* in AuthDialog and ApiKeyInput
- Fix selectedIndex reset when going back from API-KEY sub-view to main view

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-12 20:22:00 +08:00
mingholy.lmh
e7290c5d9a refactor(cli): unify Escape key handling in AppContainer
Consolidate Escape key behavior to improve UX and prevent conflicts:

- Move Escape handling from useGeminiStream to AppContainer
- Input with content: double-press to clear, then single-press to cancel
- Empty input: single-press immediately cancels ongoing request
- Preserve embeddedShellFocused check to allow shell's own escape handling
- Update tests to use cancelOngoingRequest directly instead of simulating keypress

Fixes inconsistent escape behavior between input clearing and request cancellation.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-12 20:20:51 +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
LaZzyMan
428901f136 fix: correct showLineNumbers default value to true
- 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 #1764

Fixes #1764
2026-02-12 11:42:58 +08:00
LaZzyMan
3f04217458 fix: prevent AbortSignal listener memory leak
- Add abort listener cleanup in Query.close() to prevent memory leak
- Add abort listener cleanup in ControlDispatcher.shutdown()
- Remove AbortController recreation in Session.handleInterrupt()

This fixes the MaxListenersExceededWarning that occurred when:
- Creating 11+ Query instances in SDK/non-interactive mode
- Multiple user interrupts (Ctrl+C) in interactive mode
- Intensive control request scenarios
2026-02-12 10:39:19 +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
mingholy.lmh
a5c7f1db3b feat(i18n): add translations for "Configure authentication information for login" in multiple languages 2026-02-11 17:00:43 +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