wip: agui integration
This commit is contained in:
@@ -256,12 +256,13 @@ export function registerChatHandlers(): void {
|
||||
// ============ Chat Messaging ============
|
||||
|
||||
// Send a message
|
||||
ipcMain.handle('chat:sendMessage', async (_, conversationId: string, message: string) => {
|
||||
ipcMain.handle('chat:sendMessage', async (_, conversationId: string, message: string, metadata?: { surface?: 'tab' | 'sidebar' }) => {
|
||||
try {
|
||||
const manager = await getOpenCodeManager();
|
||||
const mainWindow = mainWindowGetter?.();
|
||||
|
||||
const result = await manager.sendMessage(conversationId, message, {
|
||||
metadata,
|
||||
onDelta: (delta) => {
|
||||
if (mainWindow) {
|
||||
mainWindow.webContents.send('chat-stream-delta', { conversationId, delta });
|
||||
@@ -286,6 +287,22 @@ export function registerChatHandlers(): void {
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.handle('chat:addSystemEvent', async (_, conversationId: string, content: string) => {
|
||||
try {
|
||||
const engine = getChatEngine();
|
||||
await engine.addMessage({
|
||||
conversationId,
|
||||
role: 'system',
|
||||
content,
|
||||
createdAt: new Date(),
|
||||
});
|
||||
return { success: true };
|
||||
} catch (error) {
|
||||
console.error('[Chat IPC] Error adding system event:', error);
|
||||
return { success: false, error: (error as Error).message };
|
||||
}
|
||||
});
|
||||
|
||||
// Abort a running message
|
||||
ipcMain.handle('chat:abortMessage', async (_, conversationId: string) => {
|
||||
try {
|
||||
|
||||
@@ -84,7 +84,11 @@ function runWebContentsMenuAction(sender: any, action: AppMenuAction): boolean {
|
||||
sender.selectAll?.();
|
||||
return true;
|
||||
case 'toggleDevTools':
|
||||
sender.toggleDevTools?.();
|
||||
if (sender.isDevToolsOpened?.()) {
|
||||
sender.closeDevTools?.();
|
||||
} else {
|
||||
sender.openDevTools?.({ mode: 'detach' });
|
||||
}
|
||||
return true;
|
||||
case 'reload':
|
||||
sender.reload?.();
|
||||
|
||||
Reference in New Issue
Block a user