feat: ship v0.5.0 with auto and wizard writing modes

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-07-06 20:57:31 +08:00
parent 86b66a311a
commit 6a949b54ba
38 changed files with 2581 additions and 184 deletions
+67
View File
@@ -18,6 +18,8 @@ import type {
InteractiveFlow,
InteractiveGateResult,
InteractiveStreamChunkEvent,
AutoRhythm,
AutoWritingConfig,
PlotOption,
PlotSelection,
IpcResult,
@@ -240,6 +242,71 @@ export interface ElectronAPI {
abort: (flowId: string) => Promise<IpcResult<void>>
getSceneDraft: (bookId: string, flowId: string) => Promise<IpcResult<string>>
}
auto: {
checkGate: (bookId: string) => Promise<IpcResult<InteractiveGateResult>>
getFlow: (bookId: string, sessionId: string) => Promise<IpcResult<InteractiveFlow | null>>
start: (bookId: string, sessionId: string) => Promise<IpcResult<InteractiveFlow>>
setGoal: (
bookId: string,
flowId: string,
config: Partial<AutoWritingConfig>
) => Promise<IpcResult<InteractiveFlow>>
planScenes: (
bookId: string,
flowId: string,
contextSummary?: string
) => Promise<IpcResult<InteractiveFlow>>
generate: (
bookId: string,
flowId: string,
contextSummary?: string
) => Promise<IpcResult<InteractiveFlow>>
resolveNaming: (
bookId: string,
flowId: string,
chosenName: string,
contextSummary?: string
) => Promise<IpcResult<InteractiveFlow>>
pause: (bookId: string, flowId: string) => Promise<IpcResult<InteractiveFlow>>
resume: (bookId: string, flowId: string) => Promise<IpcResult<InteractiveFlow>>
handoffInteractive: (bookId: string, flowId: string) => Promise<IpcResult<InteractiveFlow>>
finishChapter: (
bookId: string,
flowId: string,
volumeId: string,
title?: string
) => Promise<IpcResult<{ chapterId: string }>>
abort: (flowId: string) => Promise<IpcResult<void>>
getSceneDraft: (bookId: string, flowId: string) => Promise<IpcResult<string>>
}
wizard: {
getFlow: (bookId: string, sessionId: string) => Promise<IpcResult<InteractiveFlow | null>>
start: (bookId: string, sessionId: string) => Promise<IpcResult<InteractiveFlow>>
setGoal: (
bookId: string,
flowId: string,
config: Partial<AutoWritingConfig>
) => Promise<IpcResult<InteractiveFlow>>
setRhythm: (
bookId: string,
flowId: string,
rhythm: AutoRhythm,
styleNote?: string
) => Promise<IpcResult<InteractiveFlow>>
setPov: (bookId: string, flowId: string, povSettingId: string) => Promise<IpcResult<InteractiveFlow>>
confirmContext: (
bookId: string,
flowId: string,
binding: AiContextBinding
) => Promise<IpcResult<InteractiveFlow>>
buildPreview: (
bookId: string,
flowId: string
) => Promise<IpcResult<{ preview: string; flow: InteractiveFlow }>>
startGenerate: (bookId: string, flowId: string) => Promise<IpcResult<InteractiveFlow>>
handoffInteractive: (bookId: string, flowId: string) => Promise<IpcResult<InteractiveFlow>>
abort: (flowId: string) => Promise<IpcResult<void>>
}
wordfreq: {
analyze: (
bookId: string,