refactor(auto-reply): dedupe session touch

This commit is contained in:
Peter Steinberger
2026-02-15 16:27:14 +00:00
parent c1bf99406f
commit ac75cc3495

View File

@@ -157,11 +157,10 @@ export async function runReplyAgent(params: {
buffer: createAudioAsVoiceBuffer({ isAudioPayload }), buffer: createAudioAsVoiceBuffer({ isAudioPayload }),
}) })
: null; : null;
const touchActiveSessionEntry = async () => {
if (shouldSteer && isStreaming) { if (!activeSessionEntry || !activeSessionStore || !sessionKey) {
const steered = queueEmbeddedPiMessage(followupRun.run.sessionId, followupRun.prompt); return;
if (steered && !shouldFollowup) { }
if (activeSessionEntry && activeSessionStore && sessionKey) {
const updatedAt = Date.now(); const updatedAt = Date.now();
activeSessionEntry.updatedAt = updatedAt; activeSessionEntry.updatedAt = updatedAt;
activeSessionStore[sessionKey] = activeSessionEntry; activeSessionStore[sessionKey] = activeSessionEntry;
@@ -172,7 +171,12 @@ export async function runReplyAgent(params: {
update: async () => ({ updatedAt }), update: async () => ({ updatedAt }),
}); });
} }
} };
if (shouldSteer && isStreaming) {
const steered = queueEmbeddedPiMessage(followupRun.run.sessionId, followupRun.prompt);
if (steered && !shouldFollowup) {
await touchActiveSessionEntry();
typing.cleanup(); typing.cleanup();
return undefined; return undefined;
} }
@@ -180,18 +184,7 @@ export async function runReplyAgent(params: {
if (isActive && (shouldFollowup || resolvedQueue.mode === "steer")) { if (isActive && (shouldFollowup || resolvedQueue.mode === "steer")) {
enqueueFollowupRun(queueKey, followupRun, resolvedQueue); enqueueFollowupRun(queueKey, followupRun, resolvedQueue);
if (activeSessionEntry && activeSessionStore && sessionKey) { await touchActiveSessionEntry();
const updatedAt = Date.now();
activeSessionEntry.updatedAt = updatedAt;
activeSessionStore[sessionKey] = activeSessionEntry;
if (storePath) {
await updateSessionStoreEntry({
storePath,
sessionKey,
update: async () => ({ updatedAt }),
});
}
}
typing.cleanup(); typing.cleanup();
return undefined; return undefined;
} }