fix(sessions): name relay handoffs deterministically

This commit is contained in:
Federico Jaramillo Martinez
2026-07-03 10:51:45 +02:00
parent d2b5520785
commit 10efb7f221
4 changed files with 61 additions and 2 deletions
+8 -1
View File
@@ -24,7 +24,7 @@ import { SessionArchiveStore, type ArchivedSessionRecord, type ArchiveSessionInp
import { findArchiveCandidateByIdOrPrefix, planSessionArchiveTree, type SessionArchiveTreeCandidate } from "./sessionArchiveTree.js";
import type { ActiveSession } from "./sessionRuntimeStore.js";
import type { AuthChange } from "./authService.js";
import { fallbackSessionName, generateShortSessionName } from "./sessionNameGenerator.js";
import { deterministicSessionName, fallbackSessionName, generateShortSessionName } from "./sessionNameGenerator.js";
import { computeEditPreview, type EditPreviewResult } from "./editPreview.js";
import { createPiSessionManagerGateway } from "./piSessionManagerGateway.js";
import { attachmentsToInlineImages, saveAttachmentsToWorkspace } from "./attachmentService.js";
@@ -1706,6 +1706,13 @@ export class PiSessionService {
private maybeGenerateSessionName(session: PiAgentSession, firstMessage: string): void {
if (session.sessionName !== undefined || session.messages.length !== 0 || session.isStreaming || session.isCompacting) return;
const deterministicName = deterministicSessionName(firstMessage);
if (deterministicName !== undefined) {
this.applyGeneratedSessionName(session, deterministicName);
return;
}
const model = session.model;
if (model === undefined) return;