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
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;
|
|
}
|
|
|