Commit graph

4838 commits

Author SHA1 Message Date
LaZzyMan
d32dcab5db fix: remove redundant scope field from MCP server display and add CONCAT merge strategy for mcp allowed/excluded lists 2026-03-09 21:38:42 +08:00
yiliang114
2b4c0324b6 Merge branch 'main' into fix/ide-connection-dns-lookup 2026-03-09 21:37:22 +08:00
tanzhenxin
eaef9efe90 feat(arena): add IDLE status for agent follow-up task support
- Introduce AgentStatus.IDLE for agents that finished work but can accept follow-up messages
- Add isSettledStatus() helper to check if agent is settled (IDLE or terminal)
- Update ArenaManager to transition to IDLE after agents finish initial task
- Keep agent tabs visible when session is IDLE so users can continue interacting
- Fix listener cleanup to not detach on IDLE (agents remain alive)
- Update tests to expect 'idle' status after successful completion

This enables the arena collaboration feature where agents can receive
additional tasks after completing their initial work.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 21:33:48 +08:00
tanzhenxin
4a681f435d Merge branch 'main' into feature/arena-agent-collaboration 2026-03-09 20:43:25 +08:00
tanzhenxin
426e9c240c
Merge pull request #2218 from QwenLM/fix-test-assertion-trailing-newline
fix(test): use toContain instead of toBe for file content assertion
2026-03-09 20:38:32 +08:00
tanzhenxin
377a4f183e fix(test): use toContain instead of toBe for file content assertion
The test was failing because readFile returns content with a trailing
newline, causing '1.0.1\n' to not equal '1.0.1' with toBe.
Using toContain handles this gracefully.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 20:37:11 +08:00
tanzhenxin
983f448342
Merge pull request #2208 from QwenLM/fix-mcp-extension-ui
fix: improve MCP Management & Extension Management TUI based on 0.12.0 feedback
2026-03-09 20:02:18 +08:00
DennisYu07
b359929a90 implementation integration test for PermissionRequest 2026-03-09 04:45:13 -07:00
yiliang114
76e3c36253 Merge branch 'main' into fix/ide-connection-dns-lookup 2026-03-09 19:40:25 +08:00
yiliang114
aa20ebb70b fix(ide): use callback-based dns.lookup for better compatibility 2026-03-09 19:40:07 +08:00
LaZzyMan
817f24e0ea fix bugs 2026-03-09 19:11:40 +08:00
LaZzyMan
a02ed08d26 fix ui 2026-03-09 18:26:01 +08:00
xwj02155382
c074960dd7 fix: increase wait times in AskUserQuestionDialog tests for CI stability
The tests used fixed wait times (200ms) that were too close to the
auto-advance timeout (150ms). In CI environments (especially Windows
with Node 20), timing can be less predictable due to event loop
scheduling differences, causing race conditions.

Changes:
- Increased wait(200) to wait(300) for auto-advance tests
- Increased wait() to wait(100) for navigation tests in custom input state test

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 18:25:02 +08:00
yiliang114
3bb21c3adb refactor(vscode-ide-companion): unify view ID naming and add multi-view tests
- Use consistent kebab-case prefix 'qwen-code.' for all view IDs
- Update package.json views and viewsContainers to match new naming
- Add fine-grained activationEvents for views and commands
- Add test verifying all three view positions are registered correctly

This ensures consistent naming across commands, views, and containers.
2026-03-09 17:54:59 +08:00
DennisYu07
ab368e15b0 add matcher for SessionStart and SessionEnd and rafactor integration test 2026-03-09 02:34:33 -07:00
xwj02155382
64201e8848 fix(mcp): use scopes from protected resource metadata (RFC 9728)
When discovering OAuth configuration for MCP servers, the scopes_supported
field from Protected Resource Metadata was being ignored. According to
RFC 9728, Protected Resource Metadata defines scopes specific to that
resource, which should take precedence over Authorization Server Metadata
scopes.

This fix ensures that scopes from Protected Resource Metadata are used
when available, while maintaining backward compatibility by falling back
to Authorization Server Metadata scopes.

Fixes OAuth authorization links missing scope parameter for ModelScope
MCP server.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 17:30:06 +08:00
LaZzyMan
c3c8b39a29 fix: deduplicate same-name skills across provider dirs and fix cross-platform test 2026-03-09 17:08:28 +08:00
LaZzyMan
7e9c5843e8 fix test 2026-03-09 16:46:28 +08:00
LaZzyMan
1673b04fad fix test ci 2026-03-09 16:28:53 +08:00
tanzhenxin
fa2f2fd5ce feat(arena): Short worktree names and UX improvements
- Use 8-char short names derived from session UUID for worktrees
- Fix cleanup to use short worktreeDirName
- Simplify model display names (remove authType prefix)
- Improve messaging when <2 models available
- Show agent worktree paths in startup output

Prevents long path issues and provides clearer model setup guidance.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 16:21:28 +08:00
yiliang114
b26e21f71d feat(vscode-ide-companion): cherry-pick ACP compatibility improvements from PR #2195
- Add extractSessionListItems() utility for robust ACP response parsing
- Refactor getSessionList() and getSessionListPaged() to use the new utility
- Add openNewChatTabCommand to create new session when opening chat tab
- Add comprehensive test coverage for session list extraction

Co-authored-by: ZZAoYe <zzbuaoye@gmail.com>
2026-03-09 16:11:26 +08:00
LaZzyMan
0c21071bf6 fix ci test 2026-03-09 16:08:11 +08:00
DennisYu07
411cf08396 fix unit test 2026-03-09 01:01:35 -07:00
LaZzyMan
a19f1b1ab3 add i18n 2026-03-09 16:01:16 +08:00
LaZzyMan
597ce85335 fix extension ui 2026-03-09 15:49:02 +08:00
yiliang114
2334386b69 Merge branch 'main' into feat/vscode-ide-companion-layout
Resolved merge conflicts for WebViewProvider.ts and MessageHandler.ts,
adjusting import paths to match the providers/ directory structure.
2026-03-09 15:40:51 +08:00
LaZzyMan
15b5bc3bfc fix mcp ui 2026-03-09 15:20:30 +08:00
LaZzyMan
9e34b5db4a fix: 重写 AuthenticateStep 使用正确的 OAuth 流程
- 按照 mcpCommand.ts 中的 auth 实现重写 AuthenticateStep
- 使用 MCPOAuthProvider + MCPOAuthTokenStorage 进行实际 OAuth 认证
- 通过 appEvents/AppEvent.OauthDisplayMessage 展示认证过程消息
- 认证成功后自动触发 tool re-discovery 和 client tools 更新
- 只在 server.config.oauth?.enabled 为 true 时显示 Authenticate 选项
- 认证成功后 reload servers 刷新列表
2026-03-09 12:05:27 +08:00
DennisYu07
c0c8da9aeb refactor integration test for SessionStart and SessionEnd 2026-03-08 20:45:12 -07:00
tanzhenxin
c905b94d78 feat(agents): add settings schema for multi-agent collaboration
Add agents.displayMode, arena/team/swarm settings, and refactor
acpAgent to use local ApprovalModeValue type.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
2026-03-09 11:23:08 +08:00
tanzhenxin
f9d4fa0a39 Merge branch 'main' into feature/arena-agent-collaboration 2026-03-09 11:13:31 +08:00
LaZzyMan
8c693ba738 test: 修复 extensionsCommand 测试
- 更新 mock ExtensionManager 以通过 instanceof 检查
- 确保测试与新的错误处理逻辑兼容
2026-03-09 11:12:46 +08:00
LaZzyMan
2d5088e58f fix: 修复 Extension Management 命令报错 (问题 6)
- 在 listAction 中添加 ExtensionManager 可用性检查
- 当 ExtensionManager 不可用时显示友好的错误提示
- 改进:避免用户遇到静默失败,提供明确的环境不支持信息
2026-03-09 11:11:18 +08:00
LaZzyMan
4dfaa12e16 refactor: 优化 Dialog 2 工具列表 (问题 5)
- 移除多余的序号,简化视觉元素
- 统一选中状态颜色方案 (与 Dialog 1 一致使用 accent 色)
- 保留工具功能说明 (annotations),提升可读性
2026-03-09 11:09:47 +08:00
LaZzyMan
2b1088682c refactor: 优化 Dialog 1 布局 (问题 4)
- 移除重复的服务器统计信息 (已在标题显示)
- 减少多余的空格和边距,使布局更紧凑
- 优化视觉层次,提升用户体验
2026-03-09 11:08:30 +08:00
LaZzyMan
9d3d51a283 feat: 简化 MCP 服务器禁用流程
- 问题 3: 自动匹配 scope,无需用户手动选择
- 改进:根据服务器配置位置 (user/workspace) 自动确定禁用 scope
- 改进:禁用操作一步完成,提升用户体验
- 注意:Extension 类型的服务器不支持通过此方式禁用
2026-03-09 11:06:47 +08:00
LaZzyMan
23c3518dff fix: 添加 handleAuthenticate 到依赖数组
- 修复 React Hooks exhaustive-deps 警告
2026-03-09 11:05:11 +08:00
LaZzyMan
41bb300542 fix: 修复 MCP 服务器禁用状态下的操作选项
- 问题 2.1: 禁用的服务器不再显示'查看工具'选项,避免用户查看空工具列表
- 问题 2.2: 禁用的服务器不再显示'重新连接'选项,保持逻辑一致性
- 改进:根据服务器状态动态生成可用操作列表
- 改进:启用/禁用选项始终显示,方便用户切换状态
2026-03-09 10:59:20 +08:00
LaZzyMan
ef772feea2 feat: support skills in .agents directory and other provider config directories 2026-03-09 10:14:47 +08:00
tanzhenxin
d63798cc0d
Merge pull request #1828 from QwenLM/feat/ask-user-question-tool
Some checks failed
E2E Tests / E2E Test (Linux) - sandbox:docker (push) Has been cancelled
Qwen Code CI / CodeQL (push) Has been cancelled
Qwen Code CI / Lint (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: Implement AskUserQuestionTool for interactive user queries
2026-03-08 23:21:03 +08:00
tanzhenxin
2e91f0a4cd Merge remote-tracking branch 'origin/main' into feat/ask-user-question-tool 2026-03-08 23:05:32 +08:00
tanzhenxin
411ebd03b8 fix(cli): improve ask_user_question tool handling and UI
Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>

- In ACP mode: allow ask_user_question in YOLO mode (user must respond)

- In ACP mode: allow ask_user_question in plan mode for clarifications

- Hide footer when confirmation dialog is active

- Fix tab index overflow with functional state updates

- Fix ask_user_question detection in VSCode companion (use rawInput)

- Add cleanup for pending ACP promises on panel/provider dispose

- Use theme.text.accent consistently for highlighted elements

- Remove unused 'answers' param from AskUserQuestionParams

This ensures users can always respond to clarification questions

in ACP mode regardless of approval mode, and improves dialog UX.
2026-03-08 22:15:18 +08:00
yiliang114
135430846b chore(vscode-ide-companion): update lock file after merge 2026-03-07 13:18:45 +08:00
yiliang114
dc1fe6bc4b Merge branch 'main' of https://github.com/QwenLM/qwen-code into feat/vscode-ide-companion-layout
# Conflicts:
#	packages/cli/src/acp-integration/service/filesystem.ts
#	packages/vscode-ide-companion/package.json
#	packages/vscode-ide-companion/src/webview/providers/WebViewProvider.ts
2026-03-07 13:11:18 +08:00
yiliang114
9b05ae10d7 fix(vscode-ide-companion): fix PanelManager captureTab race condition
Guard the setTimeout callback in captureTab() against panel being
disposed or replaced before the deferred callback runs. Capture a
reference to the current panel before the timeout and verify it is
still the active panel inside the callback.

Co-authored-by: ZZBuAoYe <zzbuaoye@gmail.com>
2026-03-07 12:42:43 +08:00
yiliang114
2220936eac fix(vscode-ide-companion): fix PanelManager race condition and add session clear API
- Guard captureTab() setTimeout callback against panel dispose/replace
  that can occur before the deferred callback runs
- Add AcpConnection.resetSessionState() to clear session without
  disconnecting the child process
- Add QwenAgentManager.clearCurrentSession() so sidebar/panel views
  can force creation of a fresh session

Co-authored-by: ZZBuAoYe <zzbuaoye@gmail.com>
2026-03-07 12:28:36 +08:00
DennisYu07
3458c1d68b merge main de resolve conflict 2026-03-06 16:00:51 -08:00
DennisYu07
0b7ad066b5
Merge pull request #2183 from QwenLM/feat/hook-stop-implementation
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
fix: Hooks online integration test failed
2026-03-07 07:27:29 +08:00
DennisYu07
08ecaf50aa remove non-deterministic test 2026-03-06 09:58:42 -08:00
yiliang114
c10aa7ebe5 feat(vscode-ide-companion/layout): add sidebar view and simplify chat positioning
All chat positions (sidebar, editor tab, panel, secondary sidebar) are now
available simultaneously. Remove the old chat.location configuration and
setChatLocation commands. Add focusChat, newConversation, and showLogs commands.
Refactor ChatWebviewViewProvider to use lazy factory pattern and move webview
files into providers/ subdirectory.
2026-03-07 00:30:40 +08:00