@@ -1632,10 +1632,12 @@ export async function persistSessionResetLifecycle(params: {
16321632 } ) ;
16331633
16341634 if ( params . cleanupPreviousTranscript && params . previousSessionId ) {
1635- cleanupPreviousResetTranscripts ( {
1635+ await archivePreviousSessionTranscript ( {
16361636 agentId : params . agentId ?? resolveAgentIdFromSessionKey ( params . sessionKey ) ,
1637- previousEntry : params . previousEntry ,
1638- previousSessionId : params . previousSessionId ,
1637+ previousEntry :
1638+ params . previousEntry . sessionId === params . previousSessionId
1639+ ? params . previousEntry
1640+ : { ...params . previousEntry , sessionId : params . previousSessionId } ,
16391641 storePath : params . storePath ,
16401642 } ) ;
16411643 }
@@ -2709,34 +2711,6 @@ async function restoreTemporarySessionMapping(
27092711 }
27102712}
27112713
2712- function cleanupPreviousResetTranscripts ( params : {
2713- agentId : string ;
2714- previousEntry : SessionEntry ;
2715- previousSessionId : string ;
2716- storePath : string ;
2717- } ) : void {
2718- const transcriptCandidates = new Set < string > ( ) ;
2719- const resolved = resolveSessionFilePath (
2720- params . previousSessionId ,
2721- params . previousEntry ,
2722- resolveSessionFilePathOptions ( {
2723- agentId : params . agentId ,
2724- storePath : params . storePath ,
2725- } ) ,
2726- ) ;
2727- if ( resolved ) {
2728- transcriptCandidates . add ( resolved ) ;
2729- }
2730- transcriptCandidates . add ( resolveSessionTranscriptPath ( params . previousSessionId , params . agentId ) ) ;
2731- for ( const candidate of transcriptCandidates ) {
2732- try {
2733- fs . unlinkSync ( candidate ) ;
2734- } catch {
2735- // Best-effort cleanup.
2736- }
2737- }
2738- }
2739-
27402714async function archivePreviousSessionTranscript ( params : {
27412715 agentId : string ;
27422716 onArchiveError ?: ( error : unknown , sourcePath : string ) => void ;
0 commit comments