返回 DeepSeek-Reasonix
sessionRecoveryVersionHostBridge.ts
根目录 / desktop / frontend / src / lib / sessionRecoveryVersionHostBridge.ts
1 import type { RecoveryLineageView, SessionMeta } from "./types";
2
3 type SessionVersionInspector = (session: SessionMeta, view: RecoveryLineageView) => void;
4
5 let inspector: SessionVersionInspector | undefined;
6 let queued: Parameters<SessionVersionInspector> | undefined;
7
8 export function requestSessionVersions(session: SessionMeta, view: RecoveryLineageView) {
9 if (inspector) inspector(session, view);
10 else queued = [session, view];
11 }
12
13 export function bindSessionVersionInspector(next: SessionVersionInspector): () => void {
14 inspector = next;
15 if (queued) {
16 const request = queued;
17 queued = undefined;
18 next(...request);
19 }
20 return () => {
21 if (inspector === next) inspector = undefined;
22 };
23 }
24
24 lines TYPESCRIPT