feat: 增加共享 Agent Browser 调试能力
需求:在 AI 编程会话中让用户与 Agent 共享同一浏览器页面,并查看控制台与网络信息。 实现:新增沙箱浏览器内核、Host API/渲染器面板、OpenCode 工具接入及安全边界测试。
This commit is contained in:
@@ -44,6 +44,23 @@ describe('host-events', () => {
|
||||
expect(cleanupSpy).toHaveBeenCalledTimes(1);
|
||||
});
|
||||
|
||||
it.each(['agent-browser:show', 'agent-browser:state'])(
|
||||
'maps %s to the preload IPC bridge',
|
||||
async (eventName) => {
|
||||
const onMock = vi.mocked(window.electron.ipcRenderer.on);
|
||||
const cleanupSpy = vi.fn();
|
||||
onMock.mockReturnValue(cleanupSpy);
|
||||
|
||||
const { subscribeHostEvent } = await import('@/lib/host-events');
|
||||
const unsubscribe = subscribeHostEvent(eventName, vi.fn());
|
||||
|
||||
expect(onMock).toHaveBeenCalledWith(eventName, expect.any(Function));
|
||||
expect(createHostEventSourceMock).not.toHaveBeenCalled();
|
||||
unsubscribe();
|
||||
expect(cleanupSpy).toHaveBeenCalledTimes(1);
|
||||
},
|
||||
);
|
||||
|
||||
it('does not use SSE fallback by default for unknown events', async () => {
|
||||
const warnSpy = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
||||
const { subscribeHostEvent } = await import('@/lib/host-events');
|
||||
|
||||
Reference in New Issue
Block a user