feat(electrobun): session continuity — Claude JSONL listing, resume/continue sidecar support, session picker UI

This commit is contained in:
Hibryda 2026-03-27 02:43:54 +01:00
parent 0e217b9dae
commit 485abb4774
9 changed files with 626 additions and 4 deletions

View file

@ -39,6 +39,10 @@ export interface StartSessionOptions {
extraEnv?: Record<string, string>;
additionalDirectories?: string[];
worktreeName?: string;
/** Session continuity: 'new' (default), 'continue' (most recent), 'resume' (specific). */
resumeMode?: "new" | "continue" | "resume";
/** Required when resumeMode='resume' — the Claude SDK session ID to resume. */
resumeSessionId?: string;
}
type MessageCallback = (sessionId: string, messages: AgentMessage[]) => void;
@ -283,6 +287,12 @@ export class SidecarManager {
if (options.worktreeName) {
queryMsg.worktreeName = options.worktreeName;
}
if (options.resumeMode && options.resumeMode !== "new") {
queryMsg.resumeMode = options.resumeMode;
}
if (options.resumeSessionId) {
queryMsg.resumeSessionId = options.resumeSessionId;
}
dbg(`Sending query: ${JSON.stringify(queryMsg).slice(0, 200)}...`);
this.writeToProcess(sessionId, queryMsg);