Spracherkennung für: .ts vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
import { describe, expect, it } from "vitest";
import type { ReplyPayload } from "../types.js";
import { createReplyDispatcher } from "./reply-dispatcher.js";
describe("beforeDeliver in reply dispatcher", () => {
it("cancels delivery when beforeDeliver returns null", async () => {
const delivered: string[] = [];
const dispatcher = createReplyDispatcher({
deliver: async (payload) => {
delivered.push(payload.text ?? "");
},
beforeDeliver: async (payload: ReplyPayload) => {
if (payload.text?.includes("blocked")) {
return null;
}
return payload;
},
});
dispatcher.sendFinalReply({ text: "blocked reply" });
dispatcher.sendFinalReply({ text: "safe reply" });
dispatcher.markComplete();
await dispatcher.waitForIdle();
expect(delivered).toEqual(["safe reply"]);
expect(dispatcher.getQueuedCounts()).toEqual({ tool: 0, block: 0, final: 2 });
expect(dispatcher.getCancelledCounts?.()).toEqual({ tool: 0, block: 0, final: 1 });
});
it("allows modifying payload in beforeDeliver", async () => {
const delivered: string[] = [];
const dispatcher = createReplyDispatcher({
deliver: async (payload) => {
delivered.push(payload.text ?? "");
},
beforeDeliver: async (payload: ReplyPayload) => {
if (payload.text?.includes("error")) {
return { ...payload, text: "replaced" };
}
return payload;
},
});
dispatcher.sendFinalReply({ text: "some error occurred" });
dispatcher.markComplete();
await dispatcher.waitForIdle();
expect(delivered).toEqual(["replaced"]);
});
it("delivers normally without beforeDeliver", async () => {
const delivered: string[] = [];
const dispatcher = createReplyDispatcher({
deliver: async (payload) => {
delivered.push(payload.text ?? "");
},
});
dispatcher.sendFinalReply({ text: "plain reply" });
dispatcher.markComplete();
await dispatcher.waitForIdle();
expect(delivered).toEqual(["plain reply"]);
});
});
¤ Dauer der Verarbeitung: 0.13 Sekunden
(vorverarbeitet am 2026-04-27)
¤
*© Formatika GbR, Deutschland