返回 DeepSeek-Reasonix
browserComposerBridge.ts
根目录 / desktop / frontend / src / app-runtime / browserComposerBridge.ts
1 import { browserElementDrafts } from "../lib/browserElementDrafts";
2 export function attachBrowserComposer(taskId: string, sessionId: string, deliver: (text: string) => void) {
3 const key = JSON.stringify([taskId, sessionId]);
4 const receive = () => { const draft = browserElementDrafts.getState().pending[key]; if (draft) { browserElementDrafts.getState().remove(key); deliver(draft.text); } };
5 browserElementDrafts.setState({ target: { taskId, sessionId } });
6 const off = browserElementDrafts.subscribe(receive); receive();
7 return () => { off(); const target = browserElementDrafts.getState().target; if (target?.taskId === taskId && target.sessionId === sessionId) browserElementDrafts.setState({ target: undefined }); };
8 }
9
9 lines TYPESCRIPT