Ordinary database schema upgrades previously ran VACUUM on free pages and showed misleading history-cleanup progress. Separate structure upgrades from required legacy conversions, retaining reclamation intent only for retries within the same startup. Preserve released data without new schema versions or persistent migration markers; Agent and normal writes remain unchanged. Add real SQLite and Worker regressions, bilingual operation-specific startup copy, and migration documentation. Synchronize native Electron drag input with actual resize state without weakening layout assertions. Validation: 47 focused migration tests passed; typecheck, lint and diff checks passed. Final full suite: 5137 passed, 74 skipped, 2 unrelated Electron failures. Both failing Electron tests passed an isolated rerun; full CI remains unverified. Release note: 修复普通数据库结构升级再次整理历史和回收空间的问题;仅在需要转换旧数据时执行相关处理,启动页准确显示当前升级操作。
16 lines
558 B
TypeScript
16 lines
558 B
TypeScript
import { z } from 'zod'
|
|
|
|
export const assistantStorageProgressSchema = z.object({
|
|
stage: z.enum(['upgrading', 'scanning', 'converting', 'compacting', 'complete', 'failed']),
|
|
processed: z.number().int().nonnegative(),
|
|
total: z.number().int().nonnegative(),
|
|
bytesBefore: z.number().nonnegative(),
|
|
bytesAfter: z.number().nonnegative().optional(),
|
|
error: z.string().optional()
|
|
}).strict()
|
|
|
|
export type AssistantStorageProgress = z.infer<
|
|
typeof assistantStorageProgressSchema
|
|
>
|
|
export const assistantStorageActionSchema = z.enum(['retry', 'quit'])
|