fix: decouple AI completion from history save failures and improve history API errors
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -15,6 +15,24 @@ function getDataDir(): string {
|
||||
return path.join(process.cwd(), "data", "history");
|
||||
}
|
||||
|
||||
export function historyStoreErrorMessage(err: unknown): string {
|
||||
if (!(err instanceof Error)) {
|
||||
return "保存测算历史失败";
|
||||
}
|
||||
const code = (err as NodeJS.ErrnoException).code;
|
||||
const dir = getDataDir();
|
||||
if (code === "EACCES" || code === "EPERM") {
|
||||
return `测算历史目录无写入权限(${dir}),请检查 HISTORY_DATA_DIR 或目录权限`;
|
||||
}
|
||||
if (code === "ENOENT") {
|
||||
return `测算历史目录不存在(${dir}),请创建目录或配置 HISTORY_DATA_DIR`;
|
||||
}
|
||||
if (code === "ENOSPC") {
|
||||
return "磁盘空间不足,无法保存测算历史";
|
||||
}
|
||||
return `保存测算历史失败:${err.message}`;
|
||||
}
|
||||
|
||||
function sanitizeUsername(username: string): string {
|
||||
const safe = username.replace(/[^a-zA-Z0-9_-]/g, "_");
|
||||
return safe || "guest";
|
||||
|
||||
Reference in New Issue
Block a user