fix: persist create transcript paths in session entries

This commit is contained in:
Tak Hoffman
2026-03-26 20:44:39 -05:00
parent ca01595699
commit e1ff753790
2 changed files with 26 additions and 3 deletions

View File

@@ -739,12 +739,31 @@ export const sessionsHandlers: GatewayRequestHandlers = {
return;
}
const createdEntry =
created.entry.sessionFile === ensured.transcriptPath
? created.entry
: {
...created.entry,
sessionFile: ensured.transcriptPath,
};
if (createdEntry !== created.entry) {
await updateSessionStore(target.storePath, (store) => {
const existing = store[target.canonicalKey];
if (existing) {
store[target.canonicalKey] = {
...existing,
sessionFile: ensured.transcriptPath,
};
}
});
}
const initialMessage = resolveOptionalInitialSessionMessage(p);
let runPayload: Record<string, unknown> | undefined;
let runError: unknown;
let runMeta: Record<string, unknown> | undefined;
const messageSeq = initialMessage
? readSessionMessages(created.entry.sessionId, target.storePath, created.entry.sessionFile)
? readSessionMessages(createdEntry.sessionId, target.storePath, createdEntry.sessionFile)
.length + 1
: undefined;
@@ -782,8 +801,8 @@ export const sessionsHandlers: GatewayRequestHandlers = {
{
ok: true,
key: target.canonicalKey,
sessionId: created.entry.sessionId,
entry: created.entry,
sessionId: createdEntry.sessionId,
entry: createdEntry,
runStarted,
...(runPayload ? runPayload : {}),
...(runStarted && typeof messageSeq === "number" ? { messageSeq } : {}),