MCPcopy Create free account
hub / github.com/MatterAIOrg/OrbCode / interruptibleDelay

Function interruptibleDelay

src/core/agent.ts:50–66  ·  view source on GitHub ↗

Sleep that settles early (rejecting with AbortError) if the signal fires, so * a user interrupt isn't stuck waiting out a retry backoff.

(ms: number, signal: AbortSignal)

Source from the content-addressed store, hash-verified

48/** Sleep that settles early (rejecting with AbortError) if the signal fires, so
49 * a user interrupt isn't stuck waiting out a retry backoff. */
50function interruptibleDelay(ms: number, signal: AbortSignal): Promise<void> {
51 return new Promise((resolve, reject) => {
52 if (signal.aborted) {
53 reject(new DOMException("aborted", "AbortError"))
54 return
55 }
56 const onAbort = () => {
57 clearTimeout(timer)
58 reject(new DOMException("aborted", "AbortError"))
59 }
60 const timer = setTimeout(() => {
61 signal.removeEventListener("abort", onAbort)
62 resolve()
63 }, ms)
64 signal.addEventListener("abort", onAbort, { once: true })
65 })
66}
67
68export interface AgentOptions {
69 cwd: string

Callers 1

streamWithRetryMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected