Commit graph

3939 commits

Author SHA1 Message Date
Mingholy
2d75d82ec8 feat(sdk): add FORK_MODE support for Electron integration
- Rename USE_FORK_FOR_ELECTRON to FORK_MODE
- Add fork mode in ProcessTransport for Electron IPC support
- Add comprehensive unit tests for fork mode

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 23:14:26 +08:00
tanzhenxin
846cc75f10 refactor: streamline debug logging and remove Notifications component
- Remove verbose tool execution debug logs to reduce noise
- Add debug logging for config initialization phases
- Add comprehensive debug logging for skill loading/management
- Add rate limiting for QwenLogger network error logs
- Remove Notifications component from DefaultAppLayout
- Update tests to reflect UI changes and logging behavior

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 22:41:31 +08:00
裕波
ae2f77ed22 refactor(i18n): translate Agent as 智能体 2026-02-04 21:40:31 +08:00
skyfire
0128f65fe8 refactor structure 2026-02-04 18:38:38 +08:00
tanzhenxin
9b524a59c1 Merge branch 'main' into feat/debug-logging-refactor
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 17:30:58 +08:00
tanzhenxin
c7b681ef5d feat(paste): add large paste placeholder and fix enter-submit on macOS
- 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>
2026-02-04 15:20:45 +08:00
tanzhenxin
ce7506d658
Merge pull request #1613 from Weaxs/main
Some checks are pending
Qwen Code CI / Test-3 (push) Blocked by required conditions
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 / Post Coverage Comment (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 / 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
[AnthropicContentGenerator] optimize: ADD cache_control for system and last user text message
2026-02-04 15:17:08 +08:00
tanzhenxin
46327f219e feat(core): add disableCacheControl support for Anthropic provider
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 15:03:37 +08:00
DragonnZhang
417007d243 feat(query): add support for resuming sessions with session ID 2026-02-04 14:53:22 +08:00
mingholy.lmh
8de68f9675 ci(sdk-release): use stable CLI tag for SDK releases
- Add 'cli_ref' input parameter to specify CLI version to bundle
- Auto-detect latest stable CLI tag when cli_ref not specified
- Validate that stable SDK releases use tagged CLI versions (not main)
- Record bundled CLI version in SDK dist and release notes

This ensures SDK releases bundle stable, tested CLI code instead of
potentially unstable main branch code.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 14:48:17 +08:00
tanzhenxin
80fc429dab Merge remote-tracking branch 'origin/main' into pr-1613 2026-02-04 14:39:46 +08:00
pomelo
da3dd56fd8
Merge pull request #1691 from QwenLM/fix/subagent-tool-restriction
fix(core): enforce tool restrictions in subagents
2026-02-04 14:30:46 +08:00
tanzhenxin
4c41dd9dd3
Merge pull request #1607 from QwenLM/fix/shift-tab-windows-powershell
fix: enable Shift+Tab shortcut in Windows PowerShell
2026-02-04 14:30:33 +08:00
pomelo
a8b1a5dc10
Merge pull request #1688 from QwenLM/fix/preserve-trailing-whitespace-1618
fix(core): Preserve trailing whitespace in newString during edits
2026-02-04 14:30:21 +08:00
pomelo
b147d064c8
Merge pull request #1680 from QwenLM/fix/preserve-utf8-bom-encoding
feat: Preserve UTF-8 BOM when editing files
2026-02-04 14:29:57 +08:00
tanzhenxin
e4fba169a1 fix(core): Prevent double BOM when writing files with BOM option
- Strip BOM character (\uFEFF) from content before prepending BOM bytes
- Use FileEncoding.UTF8 constant instead of string literal
- Ensure file descriptor is closed in finally block
- Add test for double BOM prevention

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-04 14:11:58 +08:00
tanzhenxin
4235681a72
Merge pull request #1701 from liqiongyu/fix/1698-heredoc-command-substitution
fix(core): handle heredoc in command substitution guard
2026-02-04 12:51:34 +08:00
liqoingyu
6a8d5ce836 fix(core): detect heredoc line continuation substitution 2026-02-04 09:50:11 +08:00
pomelo
2ed4ae773e
Merge pull request #1681 from QwenLM/dev/improve-build-and-dev-experience
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
build: Improve build efficiency and add dev mode
2026-02-04 09:33:46 +08:00
pomelo
e92ad3e367
Merge pull request #1665 from QwenLM/fix/vscode-companion-preview-version-input
fix(ci): honor manual preview version input
2026-02-04 09:29:54 +08:00
liqoingyu
bfaada45a2 fix(core): ignore comments in substitution guard 2026-02-04 09:28:59 +08:00
tanzhenxin
7fb45c56d2
Merge pull request #1667 from QwenLM/fix/issue-1666-yaml-formatter-extension-skills
Some checks are pending
Qwen Code CI / Test-3 (push) Blocked by required conditions
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 / Post Coverage Comment (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 / 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: normalize skill file content in extensions to handle BOM and CRLF
2026-02-03 20:44:51 +08:00
tanzhenxin
fdcda77892
Merge pull request #1690 from QwenLM/feature/skill-manager-symlink-support
feat(core): add symlink support for skill manager
2026-02-03 20:41:59 +08:00
liqoingyu
7c3515b703 fix(core): handle heredoc in command substitution guard 2026-02-03 20:34:05 +08:00
Mingholy
b0aa05f578
Merge pull request #1686 from afarber/1394-web-fetch-in-plan-mode
fix(core): auto-enable WebFetch and WebSearch tools in Plan mode
2026-02-03 20:30:32 +08:00
Mingholy
1d203aaefe
Merge pull request #1531 from liqiongyu/fix/1511-mcp-resource-at-ref
fix(cli): expand MCP @server: resource references
2026-02-03 20:29:23 +08:00
tanzhenxin
10ae15c00b
Merge pull request #1535 from liqiongyu/test/authdialog-esc-stabilize
test(cli): stabilize AuthDialog ESC assertion
2026-02-03 20:26:36 +08:00
liqoingyu
7e5d1470c8 fix(cli,core): pass abort signal to MCP resource reads 2026-02-03 17:32:24 +08:00
liqoingyu
5087426af7 test(cli): cover MCP resource edge cases 2026-02-03 17:23:59 +08:00
liqoingyu
5b2dc78897 fix(cli,core): harden MCP resource references 2026-02-03 17:23:58 +08:00
liqoingyu
c8a148b92e fix(cli): expand MCP @server: resource references 2026-02-03 17:22:47 +08:00
tanzhenxin
a38a5ba87d
Merge pull request #1285 from tt-a1i/fix/mcp-subprocess-cleanup
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(core): properly cleanup MCP server subprocesses on exit
2026-02-03 16:02:53 +08:00
tanzhenxin
44b7dad966 fix(ci): add --skip-duplicate flag to vsce publish
Prevents workflow failure when some platform VSIXes are already
published (e.g., darwin-arm64, darwin-x64) during retry runs.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-03 15:10:38 +08:00
LaZzyMan
b15b9b7ef4 fix ui 2026-02-03 14:30:55 +08:00
LaZzyMan
7b63b24773 fix: add hint for installing external extensions 2026-02-03 14:17:32 +08:00
DennisYu07
640196e779 merge shutdown 2026-02-02 19:47:24 -08:00
tanzhenxin
9c97468682
Merge pull request #1676 from QwenLM/fix/vscode-ide-compaion-input
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(vscode-ide-companion): fix race conditions and improve @ file completion search
2026-02-03 10:34:15 +08:00
LaZzyMan
4a578a61f2 fix test 2026-02-02 20:16:59 +08:00
LaZzyMan
7a154b8a62 fix revert changes 2026-02-02 20:08:12 +08:00
LaZzyMan
86ba86e297 Merge branch 'main' into fix/shift-tab-windows-powershell 2026-02-02 19:51:32 +08:00
LaZzyMan
3296785b23 feat use tab on windows instead of shift+tab 2026-02-02 19:48:07 +08:00
tanzhenxin
7f4579ee6a refactor(debug): add ESLint no-console rule with targeted allowlist
- Add 'no-console': 'error' to main source files (packages/core/src, packages/cli/src)
- Configure targeted allowlist for:
  - Test files and scripts
  - VS Code extension (out of scope)
  - WebUI package (UI component library)
  - Integration tests
  - Intentionally excluded files (acpAgent.ts, stdioHelpers.ts)
- Consolidate no-console overrides into a single clearly-marked section
- Enforced in CI via npm run lint:ci

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-02 19:13:01 +08:00
mingholy.lmh
0137b316d0 feat: support runtime model selection for both interactive and ACP 2026-02-02 17:52:50 +08:00
tanzhenxin
340becefb4 refactor(lsp): migrate remaining LSP console calls to debugLogger
- LspConfigLoader.ts: 7 console.warn calls → debugLogger.warn
- LspConnectionFactory.ts: 1 console.warn call → debugLogger.warn
- Add eslint no-console overrides for test files and scripts
- Completes LSP subsystem migration (8 more calls)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-02 17:50:18 +08:00
tanzhenxin
c261db3ef7 refactor(lsp): migrate console calls to debugLogger in LSP subsystem
- Replace console.log/warn/error with debugLogger in LspServerManager.ts
- Replace console.log/warn/error with debugLogger in NativeLspService.ts
- Use [LSP] tag for all LSP-related debug output
- Completes Phase 11 of debug logging refactor

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-02 17:46:01 +08:00
tanzhenxin
89e3c2cd7a refactor(debug): replace ConsolePatcher with debugLogger and update error reporting
- Replace ConsolePatcher with centralized debugLogger utility
- Refactor errorReporting to use debugLogger instead of file-based reporting
- Remove user-facing console message components:
  - Delete ConsolePatcher.ts, useConsoleMessages.ts/hook
  - Delete ConsoleSummaryDisplay.tsx, DetailedMessagesDisplay.tsx
- Update all tests in packages/core and packages/cli:
  - Mock debugLogger where needed
  - Remove assertions for console output on non-critical errors
  - Keep debugLogger assertions for fatal/network errors
  - Use HOME directory mocking for hermetic file system tests

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-02 17:37:54 +08:00
LaZzyMan
7935482c3a Revert "fix: enable Shift+Tab shortcut in Windows PowerShell"
This reverts commit 9bee51dc17.
2026-02-02 17:24:01 +08:00
LaZzyMan
f43bd7f8ab Revert "fix undefined error"
This reverts commit 4534f5ec1d.
2026-02-02 17:23:59 +08:00
tanzhenxin
11c198f800 fix(core): enforce tool restrictions in subagents (fixes #1121)
Add filtering to block unauthorized tool calls in subagents. When a model
attempts to call a tool not in the allowed tools list, the call is now
blocked and an error is returned instead of executing.

- Pass toolsList to scheduleToolCalls for filtering
- Emit TOOL_CALL and TOOL_RESULT events for blocked calls (for visibility)
- Extract recordToolCallStats helper to reduce duplication
- Add comprehensive test coverage for tool restriction enforcement

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-02-02 16:31:00 +08:00
宇溯
813e2d2b12 FIXME: list extensions after the config initialize 2026-02-01 23:56:21 -08:00