revisions

This commit is contained in:
2026-02-26 04:10:30 +10:00
parent ee048084b0
commit f9333626aa
14 changed files with 534 additions and 37 deletions

View File

@@ -1,5 +1,5 @@
import { ipcMain } from 'electron'
import { listDraftFiles, readMarkdownFile, writeMarkdownFile, getProjectWordCount, saveOrderFile, readSession, writeSession } from './fileSystem'
import { listDraftFiles, readMarkdownFile, writeMarkdownFile, getProjectWordCount, saveOrderFile, readSession, writeSession, saveRevision, listRevisions, loadRevision, deleteRevision } from './fileSystem'
import { streamMessage } from './aiService'
import type { AIPayload } from '../renderer/types/editor'
@@ -32,6 +32,22 @@ export function registerIpcHandlers(): void {
await writeSession(data)
})
ipcMain.handle('revisions:save', async (_event, filePath: string, content: string) => {
await saveRevision(filePath, content)
})
ipcMain.handle('revisions:list', async (_event, filePath: string) => {
return await listRevisions(filePath)
})
ipcMain.handle('revisions:load', async (_event, filePath: string, revisionId: string) => {
return await loadRevision(filePath, revisionId)
})
ipcMain.handle('revisions:delete', async (_event, filePath: string, revisionId: string) => {
await deleteRevision(filePath, revisionId)
})
ipcMain.handle('ai:streamMessage', async (event, payload: AIPayload) => {
try {
await streamMessage(payload, (chunk: string) => {