Refactor session ID references from sdk_session_id to memory_session_id across multiple services and database queries

- Updated SQL queries in cleanup-duplicates.ts and context-generator.ts to use memory_session_id.
- Modified interfaces in context-generator.ts to reflect the new session ID naming.
- Implemented a repair migration in SessionStore.ts to rename columns in existing tables.
- Adjusted FormattingService.ts and SDKAgent.ts to utilize memory_session_id for session handling.
- Ensured SearchManager.ts retrieves summaries and observations using the updated memory_session_id.
This commit is contained in:
Alex Newman
2025-12-28 23:13:47 -05:00
parent d7c183b3e1
commit 656a7f7c0f
10 changed files with 229 additions and 148 deletions
+6 -6
View File
@@ -122,7 +122,7 @@ const colors = {
interface Observation {
id: number;
sdk_session_id: string;
memory_session_id: string;
type: string;
title: string | null;
subtitle: string | null;
@@ -138,7 +138,7 @@ interface Observation {
interface SessionSummary {
id: number;
sdk_session_id: string;
memory_session_id: string;
request: string | null;
investigated: string | null;
learned: string | null;
@@ -246,7 +246,7 @@ export async function generateContext(input?: ContextInput, useColors: boolean =
// Get recent observations
const observations = db.db.prepare(`
SELECT
id, sdk_session_id, type, title, subtitle, narrative,
id, memory_session_id, type, title, subtitle, narrative,
facts, concepts, files_read, files_modified, discovery_tokens,
created_at, created_at_epoch
FROM observations
@@ -262,7 +262,7 @@ export async function generateContext(input?: ContextInput, useColors: boolean =
// Get recent summaries
const recentSummaries = db.db.prepare(`
SELECT id, sdk_session_id, request, investigated, learned, completed, next_steps, created_at, created_at_epoch
SELECT id, memory_session_id, request, investigated, learned, completed, next_steps, created_at, created_at_epoch
FROM session_summaries
WHERE project = ?
ORDER BY created_at_epoch DESC
@@ -275,10 +275,10 @@ export async function generateContext(input?: ContextInput, useColors: boolean =
if (config.showLastMessage && observations.length > 0) {
const currentSessionId = input?.session_id;
const priorSessionObs = observations.find(obs => obs.sdk_session_id !== currentSessionId);
const priorSessionObs = observations.find(obs => obs.memory_session_id !== currentSessionId);
if (priorSessionObs) {
const priorSessionId = priorSessionObs.sdk_session_id;
const priorSessionId = priorSessionObs.memory_session_id;
const dashedCwd = cwdToDashed(cwd);
const transcriptPath = path.join(homedir(), '.claude', 'projects', dashedCwd, `${priorSessionId}.jsonl`);
const messages = extractPriorMessages(transcriptPath);