fix(telemetry): validate activity state shape

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
This commit is contained in:
YeonGyu-Kim
2026-04-11 21:25:27 +09:00
parent acb0f6b006
commit e2f304f1a8
2 changed files with 130 additions and 1 deletions
+8 -1
View File
@@ -32,6 +32,10 @@ function getUtcHourString(date: Date): string {
return date.toISOString().slice(0, 13)
}
function isPostHogActivityState(value: unknown): value is PostHogActivityState {
return value !== null && typeof value === "object" && !Array.isArray(value)
}
function readPostHogActivityState(): PostHogActivityState {
const stateFilePath = getPostHogActivityStateFilePath()
if (!existsSync(stateFilePath)) {
@@ -40,7 +44,10 @@ function readPostHogActivityState(): PostHogActivityState {
try {
const content = readFileSync(stateFilePath, "utf-8")
const parsed = JSON.parse(content) as PostHogActivityState
const parsed: unknown = JSON.parse(content)
if (!isPostHogActivityState(parsed)) {
return {}
}
return parsed
} catch (error) {
log("[posthog-activity-state] Failed to read activity state", {