(
runtime: PiRuntime,
options: { requireStreaming?: boolean | undefined } = {},
)
| 87 | } |
| 88 | |
| 89 | export function deferLiveThreadUpdate( |
| 90 | runtime: PiRuntime, |
| 91 | options: { requireStreaming?: boolean | undefined } = {}, |
| 92 | ) { |
| 93 | cancelLiveThreadUpdate(runtime) |
| 94 | const timer = setTimeout(() => { |
| 95 | liveThreadUpdateTimers.delete(runtime) |
| 96 | if (options.requireStreaming !== false && !runtime.session.isStreaming) return |
| 97 | void publishThreadUpdate(runtime, 'update') |
| 98 | }, 0) |
| 99 | liveThreadUpdateTimers.set(runtime, timer) |
| 100 | } |
| 101 | |
| 102 | export function scheduleLiveThreadUpdate(runtime: PiRuntime) { |
| 103 | if (liveThreadUpdateTimers.has(runtime)) return |
no test coverage detected