(sessions: SessionSummaryRecord[])
| 24 | } |
| 25 | |
| 26 | function getDuplicateSessionIds(sessions: SessionSummaryRecord[]) { |
| 27 | const sessionPathsById = new Map<string, Set<string>>() |
| 28 | |
| 29 | for (const session of sessions) { |
| 30 | const sessionPaths = sessionPathsById.get(session.id) ?? new Set<string>() |
| 31 | sessionPaths.add(session.sessionPath) |
| 32 | sessionPathsById.set(session.id, sessionPaths) |
| 33 | } |
| 34 | |
| 35 | return new Set( |
| 36 | [...sessionPathsById.entries()] |
| 37 | .filter(([, sessionPaths]) => sessionPaths.size > 1) |
| 38 | .map(([sessionId]) => sessionId), |
| 39 | ) |
| 40 | } |
| 41 | |
| 42 | export function syncSessionSummaries(cwd: string, sessions: SessionSummaryRecord[]) { |
| 43 | const db = getThreadStateDatabase() |
no test coverage detected