import { SessionLock } from "../contracts/orchestrator/session-lock.contract.mjs"; //#region ../ai/src/orchestrator/session-lock.d.ts /** * Framework-default in-process {@link SessionLock} — a per-key promise- * chain mutex. It holds one tail promise per session key; each acquirer * waits on the previous holder's release, then installs its own tail. * Keyed by `sessionId`, so different sessions never contend. The wait is * abortable, so a cancelled caller never deadlocks behind a stuck * predecessor (the deadlock-on-cancel trap). * * In-process only: serializes same-session turns within ONE process. * Supply a distributed {@link SessionLock} for multi-process deployments. */ declare function inProcessSessionLock(): SessionLock; /** * No-op {@link SessionLock} for `sessionLock: false` — runs `fn` with no * serialization at all. Opt out only when an external mechanism (sticky * routing, a single-writer guarantee) already serializes same-session * turns. */ declare function noopSessionLock(): SessionLock; //#endregion export { inProcessSessionLock, noopSessionLock }; //# sourceMappingURL=session-lock.d.mts.map