/
outbreak
/
kilocode
Обзор
Документация
Войти
/
outbreak
/
kilocode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/core/task-persistence/taskMessages.ts
42 строки
1 KB
KJ7LNW
fix: use safeWriteJson for all JSON file writes with race condition fix (#4733)
25 июн 2025, 23:05
Не верифицирован
25 июн 2025, 23:05
8455909
Код
Авторство
О чём код?
import { safeWriteJson } from "../../utils/safeWriteJson" import * as path from "path" import * as fs from "fs/promises" import type { ClineMessage } from "@roo-code/types" import { fileExistsAtPath } from "../../utils/fs" import { GlobalFileNames } from "../../shared/globalFileNames" import { getTaskDirectoryPath } from "../../utils/storage" export type ReadTaskMessagesOptions = { taskId: string globalStoragePath: string } export async function readTaskMessages({ taskId, globalStoragePath, }: ReadTaskMessagesOptions): Promise<ClineMessage[]> { const taskDir = await getTaskDirectoryPath(globalStoragePath, taskId) const filePath = path.join(taskDir, GlobalFileNames.uiMessages) const fileExists = await fileExistsAtPath(filePath) if (fileExists) { return JSON.parse(await fs.readFile(filePath, "utf8")) } return [] } export type SaveTaskMessagesOptions = { messages: ClineMessage[] taskId: string globalStoragePath: string } export async function saveTaskMessages({ messages, taskId, globalStoragePath }: SaveTaskMessagesOptions) { const taskDir = await getTaskDirectoryPath(globalStoragePath, taskId) const filePath = path.join(taskDir, GlobalFileNames.uiMessages) await safeWriteJson(filePath, messages) }