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.
 
 
 
 

22 lines
704 B

/**
* 角色模块的流式中断管理(独立于 agent 的 abort-manager)。
* 以 sessionId 为 key 维护 AbortController,支持按会话中断流式生成。
*/
const controllers = new Map<string, AbortController>();
export function registerCharacterAbort(sessionId: string, controller: AbortController): void {
controllers.set(sessionId, controller);
}
export function unregisterCharacterAbort(sessionId: string): void {
controllers.delete(sessionId);
}
export function abortCharacterStream(sessionId: string): boolean {
const controller = controllers.get(sessionId);
if (controller && !controller.signal.aborted) {
controller.abort();
return true;
}
return false;
}