From dabc4b29e3fae46bf09190bd4e75062253f953ba Mon Sep 17 00:00:00 2001 From: d-kimsuon Date: Sat, 18 Oct 2025 04:14:35 +0900 Subject: [PATCH] fix: chore --- .../core/session/services/SessionMetaService.ts | 6 +++--- .../storage/FileCacheStorage/PersistentService.ts | 15 +++++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/server/core/session/services/SessionMetaService.ts b/src/server/core/session/services/SessionMetaService.ts index 8d8322e..b96bbfb 100644 --- a/src/server/core/session/services/SessionMetaService.ts +++ b/src/server/core/session/services/SessionMetaService.ts @@ -33,7 +33,7 @@ export class SessionMetaService extends Context.Tag("SessionMetaService")< this, Effect.gen(function* () { const fs = yield* FileSystem.FileSystem; - const firstCommandCache = + const firstUserMessageCache = yield* FileCacheStorage(); const sessionMetaCacheRef = yield* Ref.make( new Map(), @@ -44,7 +44,7 @@ export class SessionMetaService extends Context.Tag("SessionMetaService")< lines: string[], ): Effect.Effect => Effect.gen(function* () { - const cached = yield* firstCommandCache.get(jsonlFilePath); + const cached = yield* firstUserMessageCache.get(jsonlFilePath); if (cached !== undefined) { return cached; } @@ -70,7 +70,7 @@ export class SessionMetaService extends Context.Tag("SessionMetaService")< } if (firstUserMessage !== null) { - yield* firstCommandCache.set(jsonlFilePath, firstUserMessage); + yield* firstUserMessageCache.set(jsonlFilePath, firstUserMessage); } return firstUserMessage; diff --git a/src/server/lib/storage/FileCacheStorage/PersistentService.ts b/src/server/lib/storage/FileCacheStorage/PersistentService.ts index e1e6871..3d325e5 100644 --- a/src/server/lib/storage/FileCacheStorage/PersistentService.ts +++ b/src/server/lib/storage/FileCacheStorage/PersistentService.ts @@ -28,13 +28,20 @@ const LayerImpl = Effect.gen(function* () { yield* fs.writeFileString(cacheFilePath, "[]"); } else { const content = yield* fs.readFileString(cacheFilePath); - const parsed = saveSchema.safeParse(JSON.parse(content)); + const parsed = (() => { + try { + return saveSchema.parse(JSON.parse(content)); + } catch (error) { + console.error(`Cache file parse error: ${error}`); + return undefined; + } + })(); - if (!parsed.success) { + if (parsed === undefined || parsed.length === 0) { + console.error(`Cache file removed: ${cacheFilePath}`); yield* fs.writeFileString(cacheFilePath, "[]"); } else { - parsed.data; - return parsed.data; + return parsed; } }