feat: Implement Cross-CLI Sync Panel for MCP servers

- Added CrossCliSyncPanel component for synchronizing MCP servers between Claude and Codex.
- Implemented server selection, copy operations, and result handling.
- Added tests for path mapping on Windows drives.
- Created E2E tests for ask_question Answer Broker functionality.
- Introduced MCP Tools Test Script for validating modified read_file and edit_file tools.
- Updated path_mapper to ensure correct drive formatting on Windows.
- Added .gitignore for ace-tool directory.
This commit is contained in:
catlog22
2026-02-08 23:19:19 +08:00
parent b9b2932f50
commit dfe153778c
24 changed files with 1911 additions and 168 deletions

View File

@@ -222,20 +222,30 @@ export class A2UIWebSocketHandler {
});
const req = http.request({
hostname: 'localhost',
hostname: '127.0.0.1',
port: DASHBOARD_PORT,
path: '/api/hook',
method: 'POST',
timeout: 2000,
headers: {
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(body),
},
});
// Fire-and-forget: don't keep the process alive due to an open socket
req.on('socket', (socket) => {
socket.unref();
});
req.on('error', (err) => {
console.error(`[A2UI] Failed to forward surface ${surfaceUpdate.surfaceId} to Dashboard:`, err.message);
});
req.on('timeout', () => {
req.destroy(new Error('Request timed out'));
});
req.write(body);
req.end();

View File

@@ -90,6 +90,7 @@ const LOCALHOST_PUBLIC_PATHS = [
'/api/litellm-api/providers',
'/api/litellm-api/endpoints',
'/api/health',
'/api/a2ui/answer',
];
/**