feat(channels): add mock channel package for E2E testing

- Add @qwen-code/channel-mock package with MockPluginChannel
- Add createMockServer for programmatic test control via WebSocket
- Refactor integration test to use real WebSocket E2E flow

This enables testing the full channel pipeline (WebSocket → ChannelBase → AcpBridge → agent)
instead of the previous in-process loopback approach.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
tanzhenxin 2026-03-26 14:30:33 +00:00
parent 2b10a2dc54
commit 0f9e4409df
9 changed files with 526 additions and 174 deletions

18
package-lock.json generated
View file

@ -12,7 +12,8 @@
"packages/channels/base",
"packages/channels/telegram",
"packages/channels/weixin",
"packages/channels/dingtalk"
"packages/channels/dingtalk",
"packages/channels/mock"
],
"dependencies": {
"@testing-library/dom": "^10.4.1",
@ -3002,6 +3003,10 @@
"resolved": "packages/channels/dingtalk",
"link": true
},
"node_modules/@qwen-code/channel-mock": {
"resolved": "packages/channels/mock",
"link": true
},
"node_modules/@qwen-code/channel-telegram": {
"resolved": "packages/channels/telegram",
"link": true
@ -18985,6 +18990,17 @@
"typescript": "^5.0.0"
}
},
"packages/channels/mock": {
"name": "@qwen-code/channel-mock",
"version": "0.1.0",
"dependencies": {
"@qwen-code/channel-base": "file:../base",
"ws": "^8.18.0"
},
"devDependencies": {
"@types/ws": "^8.5.0"
}
},
"packages/channels/telegram": {
"name": "@qwen-code/channel-telegram",
"version": "0.1.0",