diff --git a/src/extension.ts b/src/extension.ts index e058378f3e..b37db5123a 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -44,7 +44,7 @@ import { } from "./activate" import { initializeI18n } from "./i18n" import { flushModels, initializeModelCacheRefresh, refreshModels } from "./api/providers/fetchers/modelCache" -import { purgeOldTasks } from "./utils/task-history-retention" +import { purgeOldTasks, RetentionSetting } from "./utils/task-history-retention" /** * Built using https://github.com/microsoft/vscode-webview-ui-toolkit @@ -175,7 +175,7 @@ export async function activate(context: vscode.ExtensionContext) { outputChannel.appendLine(`[Retention] Startup purge: setting=${retention}`) const result = await purgeOldTasks( - retention as any, + retention as RetentionSetting, contextProxy.globalStorageUri.fsPath, (m) => { outputChannel.appendLine(m) diff --git a/src/utils/task-history-retention.ts b/src/utils/task-history-retention.ts index 3c9723dfa1..0d64976e31 100644 --- a/src/utils/task-history-retention.ts +++ b/src/utils/task-history-retention.ts @@ -153,8 +153,10 @@ export async function purgeOldTasks( // First try to get a timestamp from task_metadata.json (if present) try { const raw = await fs.readFile(metadataPath, "utf8") - const meta = JSON.parse(raw) - const maybeTs = Number((meta as any)?.ts) + const meta: unknown = JSON.parse(raw) + const maybeTs = Number( + typeof meta === "object" && meta !== null && "ts" in meta ? (meta as { ts: unknown }).ts : undefined, + ) if (Number.isFinite(maybeTs)) { ts = maybeTs }