mirror of
https://github.com/stablyai/orca.git
synced 2026-11-03 02:27:43 +00:00
* refactor(runtime-core): clean up Phase 3-3.8 code - worktree.ps: summary lookup is a closure, not a 4-arg callback - relay: shared RelayStreamAckWindow for fs and git response streams - relay: terminal-frame slots live on RelayStreamRegistry - one isBinaryBuffer/BINARY_PROBE_BYTES in shared/binary-buffer - one automation owner fence on the controller, no casts - drop unchecked Store cast in remote repo registration - speech download reuses the shared abort-aware delay, no casts - RelayRuntimeServices: drop leftover handler list and param casts - use shared errorMessage() in audited files Co-Authored-By: Claude <noreply@anthropic.com> * test(cross-version-wire): pass worktree ps summary lookup in both builds' shapes --------- Co-authored-by: m4air <m4air@Mac.localdomain> Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: m4air <m4air@m4airs-MacBook-Air.local>
17 lines
444 B
TypeScript
17 lines
444 B
TypeScript
export function delayUnlessAborted(ms: number, signal: AbortSignal): Promise<void> {
|
|
if (signal.aborted) {
|
|
return Promise.resolve()
|
|
}
|
|
return new Promise((resolve) => {
|
|
const onAbort = (): void => {
|
|
clearTimeout(timer)
|
|
resolve()
|
|
}
|
|
const timer = setTimeout(() => {
|
|
signal.removeEventListener('abort', onAbort)
|
|
resolve()
|
|
}, ms)
|
|
signal.addEventListener('abort', onAbort, { once: true })
|
|
})
|
|
}
|