You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
693 B
23 lines
693 B
import log4js from "logger";
|
|
|
|
const logger = log4js.getLogger("APP");
|
|
|
|
const activeControllers = new Map<string, AbortController>();
|
|
|
|
export function registerAbortController(sessionId: string, controller: AbortController) {
|
|
activeControllers.set(sessionId, controller);
|
|
}
|
|
|
|
export function unregisterAbortController(sessionId: string) {
|
|
activeControllers.delete(sessionId);
|
|
}
|
|
|
|
export function abortSessionStream(sessionId: string): boolean {
|
|
const controller = activeControllers.get(sessionId);
|
|
if (controller && !controller.signal.aborted) {
|
|
controller.abort();
|
|
logger.info("[AGENT-STOP] aborted streamText for sessionId=%s", sessionId);
|
|
return true;
|
|
}
|
|
return false;
|
|
}
|
|
|