fix: fast-lane directives bypass queue dedupe

This commit is contained in:
Peter Steinberger
2026-01-12 21:44:09 +00:00
parent 42c17adb5e
commit 99fea64823
3 changed files with 83 additions and 5 deletions

View File

@@ -117,7 +117,7 @@ describe("followup queue deduplication", () => {
);
expect(first).toBe(true);
// Second enqueue with same prompt should be deduplicated
// Second enqueue with same prompt should be allowed (we only dedupe with message id)
const second = enqueueFollowupRun(
key,
createRun({
@@ -127,7 +127,7 @@ describe("followup queue deduplication", () => {
}),
settings,
);
expect(second).toBe(false);
expect(second).toBe(true);
// Third enqueue with different prompt should succeed
const third = enqueueFollowupRun(

View File

@@ -358,9 +358,9 @@ function isRunAlreadyQueued(
(item) => item.messageId?.trim() === messageId && hasSameRouting(item),
);
}
return queue.items.some(
(item) => item.prompt === run.prompt && hasSameRouting(item),
);
// Without a provider message id, avoid prompt-based dedupe to ensure rapid
// directive messages are not dropped.
return false;
}
export function enqueueFollowupRun(